【发布时间】:2017-05-07 09:11:53
【问题描述】:
我必须限制用户只能在 Angular2->form 的字段中输入数字 我有解决方案,但退格键在输入字段中不起作用 任何人都可以有适当的解决方案吗?
form.html
<input (keypress)="keyPress($event)" minlength="8" maxlength="15" required />
form.component.ts
keyPress(event: any) {
const pattern = /[0-9\+\-\ ]/;
let inputChar = String.fromCharCode(event.charCode);
// console.log(inputChar, e.charCode);
if (!pattern.test(inputChar)) {
// invalid character, prevent input
event.preventDefault();
}
}
在按住事件时,它限制用户只能输入数字,但此代码的问题是退格键,tab 键不起作用。所以,此代码不符合我的预期...
【问题讨论】:
-
我没有使用 jQuery。通过提供任何服务在 typescript-angular2 中是否有任何解决方案..
-
这与 Angular 无关。无论如何,不要从用户手中接管键盘,阻止按键工作,让他认为他的键盘坏了。使用标准 HTML5 技术(例如
type="number"或pattern)来控制和验证输入。这也将正确处理您的代码没有的情况,例如自动填充或将文本拖放到输入框中。
标签: javascript angular angular2-template angular2-forms angular2-services