Поскольку элементы ввода формы всегда возвращают значения string, если вы ввели числа. Как преобразовать эти строки в числа динамически.

То есть, если пользователь ввел "123212" в поле ввода, я хочу получить выходные данные как число 123212.

Если пользователь ввел "asdfas" в поле ввода, выходные данные должны быть только строкой "asdfas".

0
user1938143 21 Ноя 2019 в 11:36
Number(field.value)
 – 
zerkms
21 Ноя 2019 в 11:38
Но это невозможно, если входные данные выглядят как «asafasd», верно?
 – 
user1938143
21 Ноя 2019 в 11:39
Я не уверен, что здесь означает «невозможное». Вы пытались запустить функцию Number с этой строкой?
 – 
zerkms
21 Ноя 2019 в 11:41
Да, я пробовал, если я нажимаю "asdfasd", то получаю значение: NaN
 – 
user1938143
21 Ноя 2019 в 11:43
Конечно, так? .....
 – 
zerkms
21 Ноя 2019 в 11:44

2 ответа

Вы можете использовать это:

field.value = (parseInt(field.value)) ? parseInt(field.value) : field.value
0
Yogender Singh 21 Ноя 2019 в 11:51
parseInt слишком разрешающий, вместо него следует использовать Number().
 – 
zerkms
22 Ноя 2019 в 01:30

Попробуйте это:

// get the button and make it respond to a click
var theButton = document.getElementById("output");
theButton.onclick = getTypeOfOutput;

// this function runs each time the button is clicked
// the simple function is called within this one 
function getTypeOfOutput() {
	// get the text from input field
	var inputText = document.getElementById("input-text").value;
  // check for the text entered is string or number.
  var onlyNumbers = (inputText.match(/^\d+$/)) ? 'number' : 'string';
  // write the result into the HTML
  document.getElementById("output-type").innerHTML = onlyNumbers;
}
<p>Enter text : <input type="text" id="input-text" size="4"></p>

<button id="output">Get Output</button>

<p>Type of output : <span id="output-type"></span></p>
0
Rohit Jindal 21 Ноя 2019 в 13:19