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

0 javascript regex string replace

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

tim*_*awl 5

使用否定字符集:

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

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

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

str.replace(/[^A-Za-z0-9]/g, "-")
Run Code Online (Sandbox Code Playgroud)

编辑:正如@JamesBuck所提到的那样,实际上有一些否定的shorthands:[^\w]是相同的\W,所以如果你不需要替换下划线,你可以使用它,导致:

str.replace(/\W/g, "-")
Run Code Online (Sandbox Code Playgroud)