Проверка номера в html-форме при вводе номера типа - PullRequest
0 голосов
/ 24 октября 2018

Я думаю, что все возможности, которые пользователь может ввести в <input> номера типа, и использование jquery для проверки ввода.

В поле ввода я вставляю просто простую точку '.'

if($("#timetaken").val() == "")

и оператор if выполняется с ответом о том, что он пуст.Eсть '.'точка в нем и логически говоря, он должен пропустить это и выполнить else, который говорит нам, что он не пустой.

Я тоже тестировал с помощью ввода «1».это неполно с

console.log($("#timetaken").val().toString().indexOf("."));

и возвращает -1, что означает «.»не там и игнорируется.

Вопрос в том, есть ли способ проверить эти два ввода в теге <input> типа номер?

Спасибо.

1 Ответ

0 голосов
/ 24 октября 2018

Если вы попытаетесь проверить ввод number с некоторыми нечисловыми символами (например, одной точкой). Да, обязательно пропустите пустые значения.

Я бы предложил вам использовать textвведите регулярное выражение , чтобы проверить значение по вашему желанию.Этот тип ввода не имеет странного поведения или ограничения, и «регулярное выражение» может точно проверить значение для любого требования, которое у вас есть.

Это было бы (из того, что я могу прочитать из вашего вопроса)что-то вроде:

$("#go").on("click",function(){
  var value = $("#test").val();
  var regex = /((\d){1,9}\.?\d*)|(\d*\.?(\d){1,9})/;  // {1,9} means at least 1 and up to 9 digits.
  if(regex.test(value)){
    console.log("Value is ok");
  }else{
    console.log("Value fails.");
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text" id="test"> <button id="go">Test</button>

Так что плавающие числа или натуральные числа в порядке.Ничего другого.

Тестер регулярных выражений: regex101 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...