目前,我有输入。我可以输入任何字符,即使是特殊字符,也不能输入数字。
到目前为止,我已经尝试设置一个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();
}
}
可以,但是阻止我添加!@#%^&*之类的特殊字符。
[请问如何允许我将非数字字符输入到输入中。
检查事件的key
属性以获取按下的键。如果它与\d
(一个数字)匹配,请调用preventDefault
:
vm.preventNumberInput = function (e) {
if (/\d/.test(e.key)) {
e.preventDefault();
}
}
将允许使用除数字之外的任何其他字符。
(请注意,keyCode
和which
属性已过时,应尽可能避免使用)