【发布时间】:2018-02-01 13:47:42
【问题描述】:
我知道它可能重复。但现有的解决方案不适合我。
字段应该接受如下。
有效 - 123,33.00, 100,897,99, 8000 10334 9800,564,88.36
无效 - 001、0、01234234、-123、1.44、.99、12asdf、12ASDF、asdf123、ASDF34
到目前为止的代码。下面的代码在 ngOninit() 中
$("#amoutField").on("keypress keyup", function() {
if ($(this.amtField).val() == '0') {
$(this.amtField).val('');
}
});
另一种方法是限制范围
avoidZero(e, field) {
if (field.name === "amoutField ") {
e = (parseInt(e) == 0) ? 0 : e;
this.amoutField = e.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
$("#amoutField").val(this.amoutField);
}
}
<input class="wdh100p" type="text" id="amoutField" name="amoutField " value="" maxlength="5"
[ngModel]="amoutField " (ngModelChange)="avoidZero($event, amts)">
【问题讨论】:
-
console.log(/^[^0]/.test('0test'); -
请,请,请不要更改按键时输入的文本的值。这是一种可怕的、糟糕的用户体验。只需在其下方显示一条错误消息或其他内容即可。
-
同意@JDB。更好地更改模糊事件的值
标签: javascript regex angular typescript