小编典典

使用RegExp删除所有特殊字符

javascript

我想要一个RegExp,它将从字符串中删除所有特殊字符。我正在尝试类似的方法,但是它在IE7中不起作用,尽管它在Firefox中有效。

var specialChars = "!@#$^&%*()+=-[]\/{}|:<>?,.";

for (var i = 0; i < specialChars.length; i++) {
  stringToReplace = stringToReplace.replace(new RegExp("\\" + specialChars[i], "gi"), "");
}

RegExp的详细说明也将有所帮助。


阅读 364

收藏
2020-04-25

共1个答案

小编典典

var desired = stringToReplace.replace(/[^\w\s]/gi, '')

正如评论中提到的,将其作为白名单更容易-替换安全列表 中不 存在的字符。

脱字号(^)表示集合的取反[...]gi表示全局且不区分大小写(后者有点多余,但我想提一下),本例中的安全列表是数字,单词字符,下划线(\w)和空格(\s)。

2020-04-25