如何清除无效数据的JavaScript字符串?

时间:2018-07-18 08:26:48

标签: javascript

我从数据库中检索了一个字符串,该字符串似乎包含无效字符。

我试图保存JSFiddle,但是JS Fiddle似乎正在清理代码。

因此,我将粘贴屏幕截图,并希望它足够。

这是我的IDE中的代码

enter image description here

如果将代码粘贴到JSFiddle中,则会得到:

enter image description here

在两种情况下,在“标题”之后,都会突出显示一个奇怪的非法字符。

如何从字符串中清除这些无效字符?

2 个答案:

答案 0 :(得分:2)

如果您认为不必要,最好在添加到数据库之前先清理字符串。

否则,

无效字符在解析时会转换为0xFFFD,因此您可以将其替换为

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

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

myString = myString.replace(/[^a-z0-9 ,.?!]/ig, '')

答案 1 :(得分:0)

应该是在将数据保存到数据库中时发生的编码问题。接收的数据的编码应与存储数据的数据库的编码相同。将字符集设置为utf8。也请检查您是否已添加此元标记<meta charset="utf-8">

如果您将php与mysql一起使用,则将是这样做的方式。

mysqli_set_charset($con,"utf8");