Можно ли при помощи input masked разрешить только цифры в поле input?
Вопрос пожалуй нубский, но я не могу нигде найти информации можно ли как-то при помощи masked input разрешить вводить только цифры в поле input? Если да, то как прописать это?
|
В событии input удалять иное replace(/\D/, "")
|
Лучше на keydown проверять
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </style> </style> </head> <body> <input type=text id=digonly> </body> <script> document.getElementById('digonly').addEventListener('keydown', (ev) => {if( ev.key.length==1 && (ev.key<'0' || '9'< ev.key)) ev.preventDefault() }) </script> </html> |
Спасибо, в итоге использовала такой вариант
jQuery(document).ready(function($) { $(document).on("change keyup input click", "input[type='tel']", function() { if(this.value.match(/[^0-9]/g)){ this.value = this.value.replace(/[^0-9]/g, ""); }; }); }); |
Цитата:
|
Цитата:
|
if(this.value.match(/[^0-9]/g)) - это вы прошерстили строку рег. выражением, и если обнаружено, то второй раз шерстите - this.value.replace(/[^0-9]/g, ""). А какой в этом смысл, если .replace(/[^0-9]/g, "") вырежет только если будут такие. Здесь условие просто лишнее. Ну и в наборе событий явный перебор, "
|
Часовой пояс GMT +3, время: 17:57. |