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