1

我想要使​​用 javascript 对用户 ID 进行客户端验证。样本输入是

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

我做了一个正则表达式([\w]*[-]?[\w]+[\s]?[,]?[\s]?)+。它2,3,4,5根据需要匹配,但也匹配 input 1,这是无效的。请让我知道这个正则表达式有什么问题。

4

2 回答 2

1

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

于 2013-03-19T10:34:08.543 回答
0

\d、\w 和 \s 匹配数字、单词字符(字母、数字和下划线)和空格(空格、制表符和换行符)的简写字符类。可以在字符类内部和外部使用。\D、\W 和 \S 以上的否定版本。应该只在字符类之外使用。(可以在内部使用,但这很混乱。)

于 2013-03-19T10:31:24.690 回答