Как разрешить ввод всех символов, кроме числа - PullRequest
0 голосов
/ 30 апреля 2020

На данный момент у меня есть вход. Мне разрешено вводить любые символы, даже специальные символы, без цифр.

То, что я пробовал до сих пор, - это настроить keydown и keyup событие.

ng-keydown="vm.preventNumberInput($event)"
ng-onkeyup="vm.preventNumberInput($event)"

vm.preventNumberInput = function (e) {
    var keyCode = (e.keyCode ? e.keyCode : e.which);
    if (keyCode > 47 && keyCode < 58 || keyCode > 95 && keyCode < 107) {
        e.preventDefault();
    }
}

Это работает нормально, но мешает мне добавлять специальные символы, такие как !@#%^&*.

Могу я спросить, как разрешить ввод символов в мой ввод? это не цифры.

1 Ответ

2 голосов
/ 30 апреля 2020

Проверьте свойство key события, чтобы получить нажатую клавишу. Если он соответствует \d (a di git), позвоните preventDefault:

vm.preventNumberInput = function (e) {
    if (/\d/.test(e.key)) {
        e.preventDefault();
    }
}

. Допускаются любые символы, кроме цифр.

(обратите внимание, что keyCode и свойства which устарели, и их следует по возможности избегать)

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