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



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

使用否定字符集

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

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

如果你也想替换它,那么你可以使用:

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

编辑:正如@JamesBuck所提到的,实际上有否定的短手:[^w]W相同,所以如果你不需要替换下划线,你可以使用它,结果是:

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

输出djdkasfh-da-S-FA

最新更新