我有下一个regExp:
new RegExp("^[a-zA-Z0-9\\s\&()',_\-]+$");
我想允许@
所以我试过了:
new RegExp("^[a-zA-Z0-9\\s\&()',_\-@]+$");
但有一个例外:
Uncaught SyntaxError: Invalid regular expression: /^[a-zA-Z0-9\s&()',_-@]+$/: Range out of order in character class
这是一个例子:http://jsfiddle.net/qv5syoev/
有人知道为什么这个正则表达式无效吗?
答案 0 :(得分:0)
没有这样的范围_-@
最好将转义放回\-
范围运算符,
或者你可以把操作符放在类的开头或结尾,在那里它被视为文字。
好的,既然是双引号,你必须逃避它两次。 \\-
一次用于lang解析器,另一次用于正则表达式解析器。