Как мне разрешить вводить только цифры и специальные символы? - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть это:

  <input style="text-align: right;font-size: 12px;" class='input' (keyup.enter)="sumTotal($event)" type="text"
      [ngModel]="field.value" (focusin)="focusin()" (focusout)="format()" (keyup.enter)="format()"
      (ngModelChange)="onlyNumbers($event);field.value = $event;sumTotal($event);" [disabled]="disabled">

В моем ts у меня есть это: я хочу цифры и специальные символы.

  onlyNumbers(letter) { if (letter.toUpperCase() !== letter.toLowerCase()) { return; } else { this.field.value = letter; } }

Но он все еще может вводить буквы.Любое предложение?

Ответы [ 2 ]

2 голосов
/ 20 сентября 2019

Используя event.preventDefault(), проверив, возвращает ли isNaN false и не является ли . или , решением для вас:

function numbersonly(e){
  if(isNaN(e.key) && e.key !== '.' && e.key !== ',') e.preventDefault();
}
<input type="text" onkeypress="numbersonly(event)" />
0 голосов
/ 20 сентября 2019

Вы можете попробовать этот способ

 onkeypress="return (event.charCode == 8 && event.charCode == 0) ? null : event.charCode >= 48 && event.charCode <= 57"

другой способ установить шаблон

 pattern="[0-9]"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...