我想用空字符串替换所有非数字字符。我发现this solution
我试图在更改时替换输入元素的值。但是当我使用上面的方法时,直到我按下数字后它才会被替换。
我输入的每个非数字都会保留,直到我输入数字
例如:2aaaaa 将不会被替换。但是一旦输入2aaaa3
,它就会替换所有的a,变成23
这是正常行为吗?我怎样才能达到我的要求。
组件.ts
mobileChanged = () => {
this.mobile = this.mobile.replace(/\D/g,'');
};
Angular 组件.html
<input type="text" [(ngModel)]="mobile" (ngModelChange)="mobileChanged()">
最佳答案
您可以使用 jQuery 中的 keyup
或 Javascript 中的 onkeyup
。
$("document").ready(function() {
$("input").keyup(function() {
let v = this.value.replace(/\D/g, '');
this.value = v;
})
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" value="" />
关于javascript - 正则表达式替换非数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59198720/