23

有人可以提供正则表达式来搜索和替换找到的非法字符吗

例如,删除 �

我不确定存在多少种“非法”字符,但我认为这将是一个好的开始。

非常感谢

编辑-我无法控制数据,我们正在尝试为我们收到的潜在不良数据创建一个陷阱。

4

3 回答 3

35

无效字符在解析时被转换为 0xFFFD,因此任何无效字符代码都将被替换为:

myString = myString.replace(/\uFFFD/g, '')

您可以在此处获取所有类型的无效字符

于 2012-10-05T21:31:33.827 回答
22

您可以使用白名单,而不是黑名单。例如,如果您只想接受字母、数字、空格和一些标点符号,您可以这样做

myString.replace(/[^a-z0-9 ,.?!]/ig, '')
于 2012-10-06T01:56:16.380 回答
3

试试这个,它适用于所有意想不到的角色,如 ♫ ◘ 等...

dataStr.replace(/[\u{0080}-\u{FFFF}]/gu,"");
于 2018-02-14T13:27:35.913 回答