Angular 2: проверка чисел с помощью Regex

1

Я пытаюсь проверить числовое поле в IE 11.

<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();
    }
}

Здесь я пытаюсь ограничить ввод тремя цифрами и 5 десятичными знаками. Проблема, с которой я столкнулся, - проверка regEx для каждой нажатой клавиши (не проверка после нажатия 3 цифр), и она не позволяет вводить какой-либо номер. Как проверить число после того, как числа достигнут ограничения? Или можно проверить без regEx в Angular2?? Я новичок в Angular и нуждаюсь в предложениях.

Теги:
angular
validation

2 ответа

0

Там есть удивительная библиотека, называемая текстовой маской. Вы можете легко создать маску и ограничить пользователя вводить 3 цифры и 5 десятичных знаков.

mask = [/\d/, /\d/,/\d/, '.', /\d/, /\d/, /\d/, /\d/, /\d/]
0

Измените keypress для blur. Таким образом, он проведет проверку, когда управление теряет фокус.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню