Javascript 限制角度2中除整数以外的所有字符

Javascript 限制角度2中除整数以外的所有字符,javascript,regex,angular,angular2-template,angular2-forms,Javascript,Regex,Angular,Angular2 Template,Angular2 Forms,我想限制除整数外的所有字符输入到文本框中,我在angular 2应用程序中使用该文本框,当用户开始键入其他字符时,它不应该显示在文本框中 我尝试了keyUp事件,但似乎不起作用 <input type="text" id="txtEmpID" [(ngModel)]="filters.empID" class="form-control" (keyup)="onKey($event)"> onKey(event: any) { var charCode = e

我想限制除整数外的所有字符输入到文本框中,我在angular 2应用程序中使用该文本框,当用户开始键入其他字符时,它不应该显示在文本框中

我尝试了keyUp事件,但似乎不起作用

<input type="text" id="txtEmpID" [(ngModel)]="filters.empID" class="form-control"
(keyup)="onKey($event)">


  onKey(event: any) {
        var charCode = event.keyCode;
         if (charCode > 95 && charCode < 106 ) { {
            console.log(charCode);
            return false;
        }
}

onKey(事件:任意){
var charCode=event.keyCode;
如果(charCode>95&&charCode<106){{
console.log(charCode);
返回false;
}
}

我不能使用
,因为应用程序使用的是IE9和更旧的浏览器,不支持这些新的HTML 5标准。我知道IE很差劲在查看了所有人发表的评论后,我找到了一种方法。

<input type="text" id="txtEmpID" [(ngModel)]="filters.empID" class="form-control" onkeypress="return event.charCode >= 48 && event.charCode <= 57">

此代码将完成此任务,当用户在textbox中输入数字以外的任何内容时,它将从textbox中清除这些值,但当您尝试在javascript中检索筛选框值时,它将显示使用
event.target.value.replace(/[^0-9]/g');
(整数以外的字符)替换的旧值。我不确定它是否特定于angular 2或我正在使用的其他第三方java脚本库。

检查我对此感觉不好…如果您试图限制可在字段上使用的键,请不要这样做。当我无法复制、粘贴do
cmd+L
cmd+a
或任何其他键组合时,我会生气n就像用箭头键导航一样…它永远不会正确完成。因此,只需验证值,并在输入错误时显示它们。请参阅@LaharShah链接如何更正确地执行它-顺便说一句,我认为你应该修改ie9,它现在不到1%
if (isNaN(event.target.value)) {
  event.target.value = event.target.value.replace(/[^0-9]/g, '');
  console.log(event.target.value);
}