【发布时间】:2020-07-30 22:36:19
【问题描述】:
一些用户充斥着一些绕过正则表达式过滤器的字符。 当我将这些字符粘贴到 UTF8 编辑器中时,它们看起来是一样的(除了洪水版本不能完全选择:似乎插入了一些不可见的字符
当你切换到 ANSI 编码时,你会清楚地看到这两个词的区别 亲爱的 lâ€iâ€ebâ€ehâ€oâ€mo
当我将垃圾信息粘贴到开发人员工具中时,我得到了
s.length 给出 14 而不是 9!
所以我的问题是:如何过滤这些包含一些奇怪字符的垃圾邮件?
【问题讨论】:
-
我已经有一段时间没有搞砸了,但你有没有试过拆分字符串?然后通过循环测试每个字符?
-
如果遇到相同问题的任何人看到此问题,以下似乎可行:
str.replace(/\p{C}/gu, '');。请注意,此功能需要u标志。不过,我不确定这是否适用于所有隐形字符(有点难以测试)
标签: javascript utf-8