为了账号安全,请及时绑定邮箱和手机立即绑定

使用RegExp删除所有特殊字符

使用RegExp删除所有特殊字符

使用RegExp删除所有特殊字符我想要一个将从字符串中删除所有特殊字符的RegExp。我尝试这样的东西,但它在IE7中不起作用,虽然它适用于Firefox。var specialChars = "!@#$^&%*()+=-[]\/{}|:<>?,.";for (var i = 0; i < specialChars.length; i++) {   stringToReplace = stringToReplace.replace(new RegExp("\\" + specialChars[i], "gi"), "");}RegExp的详细描述也很有用。
查看完整描述

3 回答

?
慕容森

TA贡献1853条经验 获得超18个赞

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

正如评论中提到的那样,作为白名单更容易做到这一点 - 替换不在您的安全列表中的字符。

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


查看完整回答
反对 回复 2019-08-15
?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

请注意,如果您仍想要排除某个集合,包括斜杠和特殊字符等内容,则可以执行以下操作:

var outString = sourceString.replace(/[`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi, '');

请特别注意,为了还包含“减号”字符,您需要使用反斜杠来逃避它,就像后一组一样。如果你不这样做,它也会选择0-9,这可能是不受欢迎的。


查看完整回答
反对 回复 2019-08-15
  • 3 回答
  • 0 关注
  • 1113 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信