Regex - без специальных символов - PullRequest
10 голосов
/ 25 июля 2011

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

^[a-zA-Z]+\.[a-zA-Z]{4,10}^'

К сожалению, это не влияет, если значение содержит специальные символы, такие как !@#$%^&*)(':;

Я был бы рад получить помощь для Regex, которая содержит:

  • Только буквенно-цифровой (a-zA-Z0-9)
  • Длина от 4 до 10 символов.

Ответы [ 2 ]

29 голосов
/ 25 июля 2011

Указанные вами условия не соответствуют регулярному выражению, которое вы опубликовали.

регулярное выражение, которое вы опубликовали ^[a-zA-Z]+\.[a-zA-Z]{4,10}^, я думаю, ошибочно, поскольку в конце концов ^, никогдабыть сопоставленным с любым выражением , если вы хотите сопоставить с ^ в конце выражения, вам нужно экранировать его следующим образом \^.но ^ само по себе означает «здесь - начало выражения», а $ означает «здесь - конец выражения».

Хотя оно обозначает:

  • Начинается с альфы (хотя бы 1).
  • должно быть '.'символ точки.
  • Теперь должно быть не менее 4 альфа.

Требуемое регулярное выражение действительно:

^[a-zA-Z0-9]{4,10}$

Это говорит:

  • Начинается с буквенно-цифрового.
  • Может быть минимум 4 и максимум 10 буквенно-цифрового.
  • Конец выражения.
5 голосов
/ 25 июля 2011

Попробуйте это:

^[a-zA-Z0-9]{4,10}$

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