我想用破折号替换字符串中的所有特殊字符.我使用以下正则表达式来替换字符.
var x = "Querty(&)keypad";
alert(x.replace(/[^A-Za-z0-9]/g, "-"));
Run Code Online (Sandbox Code Playgroud)
但是,这会导致每个字符都被短划线替换,而不是用单个短划线替换连续的字符.这个例子给了我输出Querty---keypad.我想要的输出是Querty-keypad.
你可以在这个jsfiddle中看到这个问题.
使用+匹配1次或多次重复:
> "Querty(&)keypad".replace(/[^A-Za-z0-9]+/g, "-")
"Querty-keypad"
Run Code Online (Sandbox Code Playgroud)