Regex для проверки, содержит ли входная строка определенное количество символов - PullRequest
1 голос
/ 07 апреля 2010

Итак, я бы хотел проверить, содержит ли строка диапазон буквенно-цифровых символов. Он должен использоваться как проверка на стороне клиента, и я не хочу запрещать пользователям вводить то, что они хотят. Лучше всего привести примеры того, что должно / не должно проходить валидацию:

Если говорить точнее, то выражение, которое я ищу, - это проверить, чтобы строка содержала от 3 до 10 буквенно-цифровых символов. Я хотел бы подключиться к клиентскому валидатору ASP.NET.

ПРИМЕЧАНИЕ: кавычки не являются частью ввода (но могут быть!)

  • "f o o" должно пройти, так как есть 3 символа
  • "f_0_0" должно пройти
  • "fo" не должен
  • "F ...... o ...... o ...... b ..... a ...... r" должно пройти

ТНХ

Ответы [ 2 ]

1 голос
/ 07 апреля 2010

Я не знаком с клиентскими валидаторами ASP.NET, поэтому не уверен, если вам нужно , чтобы сделать это в регулярном выражении, но потенциально простое решение заключается в следующем: *

  1. Удалите все не алфавитно-цифровые символы (регулярное выражение заменяет [^0-9A-Za-z] ничем).
  2. Проверьте, равна ли длина строки 3 или больше.
1 голос
/ 07 апреля 2010
^([^a-zA-Z0-9]*[a-zA-Z0-9][^a-zA-Z0-9]*){3,10}$

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

(Не проверено, но оно должно соответствовать подмножеству JScript стандартного синтаксиса .net Regex, поскольку требуется RegularExpressionValidator . К сожалению, сокращения \w и \W нельзя использовать, поскольку они включают подчеркивание в виде буквенно-цифрового символа.)

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