我读过类似的问题,但似乎没有任何解决方案适用于此。 我有一个 Angular Material 输入框。输入应该只接收数字和一个小数点。移除按键时应识别并移除所有其他字符。
这是我的代码:
在 TS 文件和 html 中:
allownumbersonly(inputVal) {
inputVal = inputVal.replace(/[^0-9.]/g, '');//Modified after responses from stack overflow.
this.myForm.controls['inNum'].setValue(inputVal);
}
<mat-form-field>
<input id="inputNumber" matInput (keyup)="allownumbersonly($event.target.value)" placeholder="enter a number"
formControlName="inNum">
</mat-form-field>
请帮忙。提前致谢。
最佳答案
你可以使用keypress
事件:
<input (keypress)="isNumberKey($event)"/>
和 typescript :
isNumberKey(evt){
console.log(evt.keyCode);
let charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode != 46 && charCode > 31
&& (charCode < 48 || charCode > 57))
return false;
return true;
}
关于javascript - 用于删除除数字以外的字符并仅在 Angular 6 中允许单个小数点的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59088441/