type="number" minValue=0 formControlName="Amount" />
@HostListener('keydown', ['$event'])
onKeyDown(event: KeyboardEvent) {
// Allow Backspace, tab, end, and home keys
this.regex = new RegExp( this.digitDecimaNumber); // Вот сдесь не срабатывает. Хотя если изнутри, тут написать /^\d*\.?\d{0,3}$/g Все будет ок.!
if (this.specialKeys.indexOf(event.key) !== -1) {
return;
}
let current: string = this.el.nativeElement.value;
let next: string = current.concat(event.key);
if (next && !String(next).match(this.regex)) {
event.preventDefault();
}
}
попробуйте создавать регулярное выражение, передав в метод нужное число знаков, примерно так generate(n: number): RegExp { const pattern = `^\d*\.?\d{0,${n}}$`; const flags = 'g'; return RegExp(pattern, flags); }
Обсуждают сегодня