val.replace(/ [^ a-zA-Z_-0-9]/g,'')产生SyntaxError:字符类中的无效范围

Ole*_* IY 7 javascript regex

我需要替换所有与范围不匹配的字符a-zA-Z_-0-9.所以我做了val.replace(/[^a-zA-Z_-0-9]/g, '')但是得到了错误.我怎么能咬这个?谢谢

Dmi*_*try 10

如果要在字符类中包含减号" - ",则必须将其放在范围的末尾:

val.replace(/[^a-zA-Z_0-9-]/g, '')
Run Code Online (Sandbox Code Playgroud)


sQV*_*QVe 5

我更喜欢这个正则表达式:

val.replace(/[^\w-]+/gi, "");
Run Code Online (Sandbox Code Playgroud)