我試圖驗證在IE 11角2:用正則表達式
<input type="number" name="amount" [(ngModel)]="amount" (keypress)="validateNum($event) />
而且在打字稿
private validateNum(event: KeyboardEvent): void {
const pattern = /^\d{1,3}[.]\d{1,6}$/g;
let inputChar = String.fromCharCode(event.charCode);
if(!pattern.test(inputChar)) {
event.preventDefault();
}
}
在這裏,我試圖限制輸入到數字字段數驗證3位數字和5位小數。我面臨的問題是,regEx正在驗證每個按下的鍵(在按下3個數字後不驗證),並且不允許輸入任何數字。如何在數字達到限制後驗證號碼?或者是否有可能在沒有RegEx的情況下驗證Angular2?我是Angular的新手,需要建議。
爲什麼不簡單地測試'this.amount'而不是inputChar? :'if(!pattern.test(this.amount))' –
你也應該刪除'g'修飾符,你不需要帶'test'的全局修飾符。 –