input для числового ввода

174
11 января 2018, 21:08

Есть код для числового ввода в input. Работает хорошо, но проблема в том, что буквы вообще не воспринимаются, и перестают работать горячие клавиши, типа ctrl+a, ctrl+c, ctrl+v, но хочется, что бы эти функции не терялись.
Вот код:

elem = $(this).find($("input.control--suggest--input"));
elem.on('keydown', function (e) {
    if (e.key.length == 1 && e.key.match(/[^0-9+*()\s]/) || e.keyCode == 46) {
        return false;
    }
});
elem1 = $(this).find($("input.control-phone__formatted"));
elem1.on('keydown', function (e) {
    if (e.key.length == 1 && e.key.match(/[^0-9+*()\s]/) || e.keyCode == 46) {
        return false;
    }
});  

Была попытка сделать сделать это с помощью replace, дабы клавиши-буквы работали как обычно, а уже после ввода происходило преобразование:

if(e.key.match(/[^A-Za-zА-Яа-я]/)){
    elem.attr("value",elem.attr("value").replace("^[а-яА-ЯёЁa-zA-Z]+$",""))
}  

Но к сожалению ничего не вышло.

Answer 1

Я делаю так (чистый JS):

var a = document.querySelector('input'); 
 
a.addEventListener('input', function() { 
  var regExp = new RegExp('[^' + this.getAttribute('pattern') + ']', "g"); 
  this.value = this.value.replace(regExp, ''); 
});
<input type='text' pattern="\d.">

Answer 2

Возможно стоит использовать стандартный инпут для ввода цифр

Answer 3

 <input type="text" name="input" onkeypress='return event.charCode >= 48 && event.charCode <= 57'/> 

READ ALSO
как в Piwik (Matomo) вставить свой html?

как в Piwik (Matomo) вставить свой html?

Требуется на странице статистики (Piwik) добавить свою панель меню (или сверху или снизу страницы)Свои файлы Piwik не дает изменять

247
Дергается верстка на Retina [требует правки]

Дергается верстка на Retina [требует правки]

Ребята помогите плизОтдал верстку заказчику он в ответ прислал видео https://youtu

240
Добавление &lt;meta name=“robots” content=“noindex,follow”&gt; к ссылкам

Добавление <meta name=“robots” content=“noindex,follow”> к ссылкам

Есть задача добавить к ссылкам тег <meta name=“robots” content=“noindex,follow”>Правильно ли поставлена задача? По идее для ссылок нужно ставить атрибут...

214
SublimeText3 и JS

SublimeText3 и JS

Начал изучать JS по учебнику, и столкнулся с ошибкой при которой не отображается на странице JS кодСначала скрипт писал вместе с html кодом, но потом...

242