var desired = stringToReplace.replace(/[^ws]/gi, '')
正如评论中提到的,将其作为白名单更容易-替换安全列表 中不 存在的字符。
脱字号(
^)表示集合的取反
[...],
gi表示全局且不区分大小写(后者有点多余,但我想提一下),本例中的安全列表是数字,单词字符,下划线(
w)和空格(
s)。

var desired = stringToReplace.replace(/[^ws]/gi, '')
正如评论中提到的,将其作为白名单更容易-替换安全列表 中不 存在的字符。
脱字号(
^)表示集合的取反
[...],
gi表示全局且不区分大小写(后者有点多余,但我想提一下),本例中的安全列表是数字,单词字符,下划线(
w)和空格(
s)。