Javascript angularjs:在html输入中只允许整数

Javascript angularjs:在html输入中只允许整数,javascript,angularjs,Javascript,Angularjs,{{'COMMON.AMOUNT'| translate}} 如果输入的值是否为整数,则需要为此添加一个签入JavaScript控制器 以下是工作代码: var invalidChars=[“-”、“+”、“e”、“”; depositpaidamount.addEventListener(“键控”,函数(e){ if(无效字符包括(e.key)){ e、 预防默认值(); } }); {{'COMMON.AMOUNT'| translate}} 在输入框中使用onkeypress事件 &l


{{'COMMON.AMOUNT'| translate}}

如果输入的值是否为整数,则需要为此添加一个签入JavaScript控制器

以下是工作代码:

var invalidChars=[“-”、“+”、“e”、“”;
depositpaidamount.addEventListener(“键控”,函数(e){
if(无效字符包括(e.key)){
e、 预防默认值();
}
});

{{'COMMON.AMOUNT'| translate}}

在输入框中使用onkeypress事件

<input type="text" onkeypress='return (event.charCode >= 48 && event.charCode <= 57) || event.charCode <= 31'>

使用指令

app.directive('restrictTo', function () {
return {
    restrict: 'A',
    link: function (scope, element, attrs) {
        var re = RegExp(attrs.restrictTo);
        var exclude = /Backspace|Enter|Tab|Delete|Del|ArrowUp|Up|ArrowDown|Down|ArrowLeft|Left|ArrowRight|Right/;

        element[0].addEventListener('keydown', function (event) {
            if (!exclude.test(event.key) && !re.test(event.key)) {
                event.preventDefault();
            }
        });
    }
}
});

And In HTML we use following way:
<input type="text" restrict-to="[0-9]"/>
app.指令('restrictTo',函数(){
返回{
限制:“A”,
链接:函数(范围、元素、属性){
var re=RegExp(属性限制);
var exclude=/Backspace | Enter | Tab | Del | arrow Up | Up | arrow Down | Down | arrow Left | Left | arrow Right | Right/;
元素[0]。addEventListener('keydown',函数(事件){
如果(!exclude.test(event.key)和&!re.test(event.key)){
event.preventDefault();
}
});
}
}
});
在HTML中,我们使用以下方式:
请参见此处的Plunker示例。。访问:


如果对您有用,请将其标记为答案。

是否只有在html@SrividhyaS您还需要注意复制粘贴的情况。此代码将阻止用户从键盘输入非整数以及复制粘贴。测试人员将为此引发错误,所以请记住:)这不是正确答案。用户可以输入不应该输入的
dot
。我编辑了我的答案jst,删除了46个关键代码,请再试一次,但如果用户进行复制粘贴,这将不起作用。用户不能从键盘输入非整数,但可以粘贴使用-**onpaste=“return false”***
onpaste=“return false”
不是一个好选项。如果用户想要粘贴一个有效的整数怎么办?@ShrividyaS-我上面的例子也会处理复制粘贴问题。