在角度2中限制除整数之外的所有字符

时间:2016-11-28 21:17:58

标签: javascript regex angular angular2-template angular2-forms

我想将除整数之外的所有字符条目限制在我在角度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;
        }
}

我无法使用<input type="number" >,因为应用程序使用的IE9和旧浏览器不支持这些新的HTML 5标准。 我知道IE糟透了

1 个答案:

答案 0 :(得分:0)

在查看了所有人发布的评论之后,我想出了一种方法。

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

执行相同操作的其他方法是使用输入(keyup)="onKey($event)"事件并在那里写入逻辑但是有一个捕获

if (isNaN(event.target.value)) {
  event.target.value = event.target.value.replace(/[^0-9]/g, '');
  console.log(event.target.value);
}

此代码将完成这项工作,当用户在文本框中输入除数字以外的任何内容时,它将从文本框中清除这些值但是当您尝试在javascript中检索过滤器框值时,它将显示使用{{替换的旧值1}}(整数以外的字符)。我不确定它是否特定于angular 2或我使用的其他第三方java脚本库。