Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 允许在reg表达式中使用一些字母_Javascript_Regex - Fatal编程技术网

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

Javascript 允许在reg表达式中使用一些字母,javascript,regex,Javascript,Regex,我有下一个regExp: new RegExp("^[a-zA-Z0-9\\s\&()',_\-]+$"); 我想允许@ 所以我试着: new RegExp("^[a-zA-Z0-9\\s\&()',_\-@]+$"); 但有一个例外: 未捕获的语法错误:无效的正则表达式:/^[a-zA-Z0-9\s&',_-@]+$/:字符类中的范围顺序错误 以下是一个例子: 有人知道为什么这个正则表达式无效吗?没有这样的范围-@最好把转义放回\-range操作符上, 或者您可以将运算符放

我有下一个regExp:

new RegExp("^[a-zA-Z0-9\\s\&()',_\-]+$");
我想允许@

所以我试着:

new RegExp("^[a-zA-Z0-9\\s\&()',_\-@]+$");
但有一个例外:

未捕获的语法错误:无效的正则表达式:/^[a-zA-Z0-9\s&',_-@]+$/:字符类中的范围顺序错误

以下是一个例子:

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

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


好的,因为它是双引号,所以你必须逃避它两次。\\-一次用于lang解析器,另一次用于regex解析器。

有什么例外?在类中使用@应该没有regex错误,一定是其他原因。我更新了我的主题..谢谢!我可以写:^[a-zA-Z0-9\\s\&'、\\-]+$+\@?或者你想让我写:^[a-zA-Z0-9\\s\&'、\\-]+$?最好用它。^[a-zA-Z0-9\\s\\\&'、\\\\-+$应该用正则表达式文字代替/^[a-zA-Z0-9\\s\&',_\-@+$/@Derek朕會功夫, 您的建议与sln的常规表达有什么区别?