3

我想用破折号替换字符串中的所有特殊字符。我使用以下正则表达式替换字符。

var x = "Querty(&)keypad";
alert(x.replace(/[^A-Za-z0-9]/g, "-"));

但是,这会导致每个字符都被一个破折号代替,而不是用一个破折号代替连续的字符。这个例子给了我输出Querty---keypad。我想要的输出是Querty-keypad.

您可以在这个jsfiddle中看到问题。

4

1 回答 1

8

用于+匹配 1 个或多个重复:

> "Querty(&)keypad".replace(/[^A-Za-z0-9]+/g, "-")
"Querty-keypad"
于 2013-08-10T04:32:49.530 回答