2013-03-19 3 views
1

Я хочу проверку на стороне клиента с помощью javascript. Примеры входовregex для проверки идентификатора пользователя

  1. !abc
  2. abc-def , abc
  3. abc , abc-def
  4. abc
  5. abc-def_hjk

Я сделал регулярное выражение ([\w]*[-]?[\w]+[\s]?[,]?[\s]?)+. Он соответствует 2,3,4,5 по мере необходимости, но также соответствует введенному 1, что является недопустимым. Пожалуйста, дайте мне знать, что не так в этом регулярном выражении.

+3

Вы начали свое регулярное выражение с символом '^' и закончили с '$'? В противном случае он не будет соответствовать цельной строке. – aram90

+0

Спасибо. Это сработало. Отправьте его как ответ. – snekam

ответ

0

\ d, \ w и \ s Сокращенные классы символов, соответствующие цифрам, символам слов (буквам, цифрам и символам подчеркивания) и пробелам (пробелы, вкладки и разрывы строк). Может использоваться внутри и снаружи классов символов. \ D, \ W и \ S Отклоненные версии выше. Должны использоваться только внешние классы символов. (Может использоваться внутри, но это путает.)

1

Ваша проблема \w. попробуйте вместо этого использовать a-zA-Z_. это гарантирует, что используется только алфавит

Смежные вопросы