javascript regexp разрешить выпуск только номеров - PullRequest
0 голосов
/ 18 апреля 2019

У меня есть поле ввода текста, где я проверяю каждый клик, поэтому пользователь должен вводить только цифры. Мне нужно сделать это с помощью JavaScript.

Я создал это в своей функции:

 result = number.replace(/\D/g, '');return result;

Я тоже пробовал result = number.replace(/[^0-9.\-]/g, '');return result;

Это работает, поэтому не позволяет вводить что-либо, кроме цифр, НО, если я нажимаю любую букву дважды (gg или aa, ...), тогда одна из букв отображается в поле ввода.

Если я ввожу разные буквы (ab, gh, ...), тогда все в порядке, оно не позволяет вводить буквы. Это происходит, только если я нажимаю одну и ту же букву дважды.

Не уверен, почему это происходит, поскольку регулярное выражение должно разрешать только числа.

1 Ответ

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

Вам нужно использовать строчную букву d для сопоставления цифр вместо заглавной буквы D. Также для сопоставления целого числа используйте знак + после d, как \ d +.

вот список правил регулярных выражений: https://www.rexegg.com/regex-quickstart.html

и вы можете использовать эту ссылку для имитации вашего регулярного выражения: https://regexr.com/

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