有人可以提供正则表达式来搜索和替换找到的非法字符
示例,删除
我不确定存在多少种类型的“非法”字符,但我认为这将是一个良好的开端。
非常感谢
编辑 - 我无法控制数据,我们正在尝试为我们收到的潜在错误数据创建一个捕获。
答案 0 :(得分:22)
无效字符在解析时会转换为0xFFFD,因此任何无效字符代码都会被替换为:
myString = myString.replace(/\uFFFD/g, '')
您可以获得所有类型的无效种类的字符here
答案 1 :(得分:14)
您可以使用白名单,而不是拥有黑名单。例如如果你只想接受字母,数字,空格和一些标点符号,你可以做
myString.replace(/[^a-z0-9 ,.?!]/ig, '')
答案 2 :(得分:1)
试试这个,它适用于所有意想不到的角色,如♫◘等......
dataStr.replace(/[\u{0080}-\u{FFFF}]/gu,"");