Пользователь может вводить более 7 цифр перед децимелем и 3 после децимела - PullRequest
1 голос
/ 02 декабря 2009

Я хочу получить пользовательский ввод от пользователя в текстовом поле, но мне нужно проверить его

1.Не должно быть больше 7 цифр перед децимелом

2.это не должно содержать более 3 цифр после децимела

Я на самом деле разобрался со второй частью, но первая часть все еще остается проблемой. мое регулярное выражение:

/^([0-9]{0,7})+(\.[0-9]{1,3})?$/

Скажи мне, где я иду не так

Предложить корректную экспрессию

Ответы [ 2 ]

3 голосов
/ 02 декабря 2009

Вам не нужен плюс, и я бы использовал \d вместо [0-9], но я не знаю, что он быстрее:

/^\d{0,7}(\.\d{1,3})?$/

Причиной неудачи вашего регулярного выражения является то, что после первого теста у вас был знак +, что означает "одно или несколько совпадений". Таким образом, он искал или более наборов [0-9]{0,7}, которые соответствовали бы любому количеству символов перед десятичной точкой.

0 голосов
/ 02 декабря 2009

/^\d{1,7}\.\d{1,3}$/

Это будет соответствовать 1-7 цифрам и 1-3 цифрам. Требуется ли целое или десятичное число? .333 или 333 действительны?

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