我正在尝试允许字母数字和一些特殊字符
var regx = /^[A-Za-z0-9._-\] ]+$/;
我尝试用正斜杠转义]符号,但仍然无法正常工作。
我在想什么
最佳答案
您还需要转义-
字符:
/^[A-Za-z0-9._\-\] ]+$/
//------------^
转义
-
并非总是必要的。但是,此处在方括号内使用它,这使JavaScript引擎假定您正在尝试指定_-]
中的范围,这会导致“字符类的范围乱序”错误。请注意,
/[_-a]/
是有效的正则表达式,并且匹配字符_
,`
和a
(ASCII代码95 ... 97);这可能不是理想的结果。