Float в input value с помощью jquery mask query

114
13 июня 2019, 02:30

Подскажите как сделать что бы в input можно было вводить дробные (или целые) числа ( пример: 1.1 | 1.234 | 12 ). Тоесть только цифры или точку (не запятая). Спасибо.

Answer 1
<input type="text" onkeydown="return isNumber(event)">
function isNumber(evt) {
    const charCode = evt.keyCode;
    const hasDot = evt.target.value.indexOf('.') !== -1 && charCode === 190;
    if (charCode != 46 && charCode != 190 && charCode > 31 
        && (charCode < 48 || charCode > 57) || hasDot) {
        return false;
    }
        return true;
 }
Answer 2

Для форматов, перечисленных в вопросе, можно использовать такое выражение:

^\d+(?:\.\d+)?$

Upd.

Если необходима проверка формата во время ввода, то можно использовать вот такой код:

$("#testField").on("keyup change", function() { 
  var that = $(this); 
  var validValue = that.data("validValue") || ""; 
  var newValue = that.val(); 
  if (newValue.match(/^\d+\.?\d*$/)) { 
    that.data("validValue", that.val()); 
  } else { 
    that.val(validValue); 
  } 
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
<input type="text" id="testField">

Тут используется немного другое регулярное выражение ^\d+\.?\d*$, которое позволяет значения типа 58., но такие значения также являются валидными рациональными числами.

READ ALSO
Пустое значение (NULL) или отдельная таблица?

Пустое значение (NULL) или отдельная таблица?

Есть таблица в которой фиксируются все операции связанные с расходамиЕсть расход относится к типу "Аванс", то также необходимо сохранять...

144
Упорядочить в запросе поле varchar как int

Упорядочить в запросе поле varchar как int

Делаю запрос к таблице, поле которое я упорядочил по возрастанию УПОРЯДОЧИВАЕТСЯ, но тип ячейки текстовый, а внутри цифрыЕст-но логично изменить...

131
MySQL error 1366 (добавление кириллических символов)

MySQL error 1366 (добавление кириллических символов)

В БД имеется таблица, созданная запросом

251
Windows-&gt;Docker-&gt;mysql

Windows->Docker->mysql

Для удобства я создал dockerfile, который собирает на основе debian образ с mysqlОчень удобно

144