Как разрешить только цифры и значения формата в JavaScript - PullRequest
0 голосов
/ 24 апреля 2019

Я хотел бы знать, как проверить текстовое поле, которое допускает только цифры, а затем отформатировать значение в javascript.

Как проверить входной текст, не позволяя вставлять, Ctrl, Shift, Backspace ибез учета специальных символов и букв,

 <input name="samount" type="text" id="samount" class="form-control"
  @keyup=${this.formatCurrency}>


formatCurrency(e){
  var myinput = e.target.value;
      var val = myinput;
      val = val.replace(/[^0-9]/g,'');      
      if(val != "") {
        var valArr = val.split('.');
        valArr[0] = (parseInt(valArr[0],10)).toLocaleString();
        val = valArr.join('.');
      }      
      e.target.value = val;
      this.rateValue();
}
Should allow only numbers

Ответы [ 3 ]

0 голосов
/ 24 апреля 2019

* попробуйте обновить выражение регулярного выражения и использовать функцию соответствия в условии if, чтобы проверить, совпадают ли значения вашего поля с регулярным выражением.* каждый ключ имеет свой отдельный код, который вы можете проверить, используя этот код ключа, чтобы отметить, что этот ключ не работает в этом текстовом поле

0 голосов
/ 24 апреля 2019

Самый простой способ - удалить введенное значение в keyup, когда оно не является числовым.

$("#myinput").keyup(function(e) {
        if($(this).val().match(/^[0-9]+$/))
            return;
        else
            $(this).val('');
});

В качестве альтернативы можно проверить e.keyCode и запретить ввод, если оно не соответствует диапазонам 48-57 и * 1006.* (у numpad есть отдельные коды клавиш)

0 голосов
/ 24 апреля 2019

Событие Keyup содержит набранный ключ, сделайте на нем тест (если parseInt или dot ...).

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