正则表达式验证用户ID

时间:2013-03-19 10:23:03

标签: javascript regex

我希望使用javascript对userid进行客户端验证。样本输入

  1. !abc
  2. abc-def , abc
  3. abc , abc-def
  4. abc
  5. abc-def_hjk
  6. 我制作了一个正则表达式([\w]*[-]?[\w]+[\s]?[,]?[\s]?)+。它根据需要匹配2,3,4,5,但也匹配输入1,这是无效的。 请告诉我这个正则表达式有什么问题。

2 个答案:

答案 0 :(得分:1)

您的问题是\w。请尝试使用a-zA-Z_。这确保只使用字母

答案 1 :(得分:0)

\ d,\ w和\ s匹配数字,单词字符(字母,数字和下划线)和空格(空格,制表符和换行符)的速记字符类。可以在字符类的内部和外部使用。 \ D,\ W和\ S以上的否定版本。应该只在字符类之外使用。 (可以在里面使用,但这很令人困惑。)