регулярное выражение для проверки десятичного числа - PullRequest
1 голос
/ 26 мая 2019

Я добавляю проверку в текстовое поле для десятичного числа (4,2).я попробовал приведенный ниже код, он работает после десятичной точки (то есть он ограничивает ввод пользователем более 2 цифр после десятичной точки), но не ограничивает ввод пользователем более 4 цифр перед десятичной точкой.

ng-pattern-restrict="^[0-9]{0,4}+(.[0-9]{0,2})?$"

  • Допустимый ввод: 10.20
  • Допустимый ввод: 1234.23
  • Недопустимый ввод: 123456.23
  • Недопустимый ввод: 1234.23456

1 Ответ

2 голосов
/ 26 мая 2019

{0,4} означает «от 0 до 4 последовательности действий». + означает «один или несколько исходящих шаблонов», а . означает «любой символ».

Похоже, вам нужно сбросить + (у вас уже есть счет, указанный в {0,4}) и экранировать ., чтобы соответствовать буквальной десятичной точке.

^[0-9]{0,4}(\.[0-9]{0,2})?$

  • 10,20 совпадений
  • 1234,23 совпадений
  • 123456.23 нет совпадений
  • 1234.23456 нет совпадений

Имейте в виду, что это не универсально приемлемый метод проверки десятичных знаков. Различные регионы используют разные символы для десятичной точки, например.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...