在reg表达式中允许一些字母

时间:2014-08-20 20:07:29

标签: javascript regex

我有下一个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/

有人知道为什么这个正则表达式无效吗?

1 个答案:

答案 0 :(得分:0)

没有这样的范围_-@最好将转义放回\-范围运算符,
或者你可以把操作符放在类的开头或结尾,在那里它被视为文字。

好的,既然是双引号,你必须逃避它两次。 \\-一次用于lang解析器,另一次用于正则表达式解析器。