从特殊字符中清除json字符串

时间:2012-04-13 15:36:49

标签: javascript regex

我使用API​​接收数据,有几个部分导致我需要解决的问题:

"Apple® iPad® 2 with Wi-Fi - 16GB"

"Rocketfish™ - Premium Vehicle Charger for Apple® iPad™, iPhone® and iPod®"

我需要移除特殊的UTF8字符,例如® ™,我该如何实现?

2 个答案:

答案 0 :(得分:3)

如果要删除除基本拉丁语以外的所有符号,只需应用正则表达式,如

str = str.replace(/[\u0080-\uFFFF]+/g, "");

请参阅this list of unicode characters以选择您需要接受的字符

答案 1 :(得分:2)

首先,请确保您绝对不能使用那些“有问题”的符号。清洁的现代程序应该正确理解任何语言的输入。

至于你删除任何不可读内容的请求,最好指定你要留下的内容,因为F. Calderan的例子不会删除指定FFFF位置之上的任何额外Unicode符号。所以,考虑到你只需要ASCII:

str = str.replace(/[^\u0000-\u007F]+/g, "");