如何替换JavaScript字符串中除字母和数字之外的所有内容(空格/符号)?

时间:2016-05-14 22:33:55

标签: javascript regex string replace

我需要用字符串中的减号( - )替换每个符号和空格。我对Regex还不是特别熟悉。

2 个答案:

答案 0 :(得分:5)

使用negated character set

如果你可以保留下划线,你可以使用:

str.replace(/[^\w]/g, "-") // \w is the same as [A-Za-z0-9_]

如果您想要替换它,那么您可以使用:

str.replace(/[^A-Za-z0-9]/g, "-")

修改如@JamesBuck所述,实际上negated shorthands[^\w]\W相同,所以如果您不需要替换下划线,你可以使用它,导致:

str.replace(/\W/g, "-")

答案 1 :(得分:0)

var str = "djdkasfh da@S@FA";
str.replace(/[^a-z0-9]+/gi, '-');

输出djdkasfh-da-S-FA