Javascript 用于输入类型编号的Angular 8验证器
我有一个带有类型号的输入,默认情况下允许插入一些字符,如“+”-” HTMLJavascript 用于输入类型编号的Angular 8验证器,javascript,regex,angular,typescript,angular-reactive-forms,Javascript,Regex,Angular,Typescript,Angular Reactive Forms,我有一个带有类型号的输入,默认情况下允许插入一些字符,如“+”-” HTML <input type="number" class="form-control" formControlName="numberChildren"/> 我想实现一个只接受数字而不接受'+''-''的逻辑 注意:必须使用数字作为输入类型您可以注册到按键事件以忽略您不想要的字符,如+字符。这也可能更方便用户,因为没有显示错误消息,它只是停止将
<input type="number"
class="form-control"
formControlName="numberChildren"/>
我想实现一个只接受数字而不接受'+''-''的逻辑
注意:必须使用数字作为输入类型您可以注册到
按键
事件以忽略您不想要的字符,如+
字符。这也可能更方便用户,因为没有显示错误消息,它只是停止将字符添加到输入中
<input type="number"
class="form-control"
(keypress)="($event.charCode === 8 || $event.charCode === 0 || $event.charCode === 13) ? null : $event.charCode >= 48 && $event.charCode <= 57"
formControlName="numberChildren"/>
使用的是
charCode
。这将允许数字以及输入和退格。仅接受数字在此不起作用验证器只需测试值是否正确注意:必须使用数字作为输入类型
← 为什么?检查此库@Igor,最终用户希望输入只允许键入数值。最终用户希望输入只允许键入数值。
← 您指的是触摸屏(手机/平板电脑)和弹出的键盘吗?也许有一种方法可以默认为数字键集(0-9和符号),而不是QWERTY键盘。
<input type="number"
class="form-control"
(keypress)="($event.charCode === 8 || $event.charCode === 0 || $event.charCode === 13) ? null : $event.charCode >= 48 && $event.charCode <= 57"
formControlName="numberChildren"/>