Валидатор регулярных выражений для текстового поля - PullRequest
2 голосов
/ 18 ноября 2011

В моем требовании в текстовом поле должны быть разрешены буквы, цифры, специальные символы, специальные символы с at least one Alphabet.

Я попробую вот так, но я не получаю.

^\d*[a-zA-Z][a-zA-Z0-9#*,$._&% -!><^@]*$

Ответы [ 3 ]

3 голосов
/ 18 ноября 2011

Вы можете захотеть иметь 2 валидатора регулярных выражений; один для проверки допустимых символов, и один для проверки того, что по крайней мере на алфавите был предоставлен. Вы можете получить хотя бы одно, но таким образом у вас может быть два отдельных сообщения проверки, чтобы показать пользователю, объясняющего, почему ввод неправильный.

0 голосов
/ 18 ноября 2011

Просто сопоставляйте специальные символы, пока не встретите букву, а затем сопоставьте все до конца строки:

^[0-9#*,$._&% -!><^@]*[a-zA-Z0-9#*,$._&% -!><^@]*$
0 голосов
/ 18 ноября 2011

Используйте Lookaheads:

/^(?=.*[a-zA-Z])[\w#*,$.&%!><^@-]*$/

Редактировать:

Я предполагаю, что - означает фактический - символ, а не диапазон от space до !.

Я убрал символ пробела. Вы, конечно, можете добавить его, если хотите.

[ -!]

Эффективно означает:

[ -!]    # Match a single character in the range between “ ” and “!”

И я понятия не имею, что влечет за собой этот диапазон!

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