Регулярное выражение для проверки конкретного ввода при разрешении пустого ввода - PullRequest
0 голосов
/ 03 сентября 2010

Я пытаюсь проверить текстовое поле, содержащее множество допустимых входных данных:

  • "123456789"
  • "123456789 + 1"
  • ""

Я использую это регулярное выражение для проверки первых двух условий:

^[0-9]{9}\+[0-9]$

Но теперь я не могу понять, как позволить пользователю ничего не вводить, я пробовал что-то вроде инкапсуляции выражения в ()? или изменения {9} на {0,9}, но это позволяет переменное число чисел в первой группе (как ДОЛЖНО быть 9 или ни одного)

Любая помощь будет принята с благодарностью !!

Ответы [ 2 ]

3 голосов
/ 03 сентября 2010

Попробуйте

^([0-9]{9}\+[0-9])?$

? означает «0 или 1 копия предыдущего выражения». В этом случае все выражение в скобках становится необязательным.

Кроме того, если вы хотите, чтобы деталь \+[0-9] была необязательной, вы, вероятно, захотите сделать то же самое с этим; заключите в скобки и сделайте его необязательным с помощью ?:

^([0-9]{9}(\+[0-9])?)?$
1 голос
/ 03 сентября 2010
^(?:[0-9]{9}\+[0-9])?$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...