我已经使用此代码在javascript中创建正则表达式
var regex = new RegExp("^[a-zA-Z0-9_\-\\(\\)]$");
我也试过
var regex = new RegExp("^[a-zA-Z0-9_\-\(\)]$");
我总是得到:
Uncaught SyntaxError: Invalid regular expression: /^[a-zA-Z0-9_-\(\)]$/: Range out of order in character class
答案 0 :(得分:0)
如果要将字符-
字面意义地放在字符类中,则需要将其放在其他字符的末尾。因为正则表达式引擎会将其视为字符范围。
[a-zA-Z0-9_()-]
此外,您不需要在字符类中转义正则表达式字符!
答案 1 :(得分:0)
你的正则表达式必须是,
var regex = new RegExp("^[a-zA-Z0-9_()-]$")
或
var reg = /^[a-zA-Z0-9_()-]$/;
或
var reg = /^[\w()-]$/;
答案 2 :(得分:0)
您只需要转义-
new RegExp("^[a-zA-Z0-9_\\-()]$");