如何允许除输入数字外的所有字符

问题描述 投票:0回答:1

目前,我有输入。我可以输入任何字符,即使是特殊字符,也不能输入数字。

到目前为止,我已经尝试设置一个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();
    }
}

可以,但是阻止我添加!@#%^&*之类的特殊字符。

[请问如何允许我将非数字字符输入到输入中。

javascript html
1个回答
2
投票

检查事件的key属性以获取按下的键。如果它与\d(一个数字)匹配,请调用preventDefault

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

将允许使用除数字之外的任何其他字符。

(请注意,keyCodewhich属性已过时,应尽可能避免使用)

© www.soinside.com 2019 - 2024. All rights reserved.