由于字符串中的错误字符导致脚本中断

时间:2013-01-10 18:25:44

标签: javascript string escaping

我担心这个问题有一个非常简单的答案,但我已经尝试了一段时间寻找解决方案而没有任何运气。

我有一个非常长的字符串,它通常包含分号(;),双引号和单引号等字符,也许还有其他字符,如果不进行转义可能会有害。

当我尝试运行我的JavaScript代码时,它会出现错误“Uncaught SyntaxError:Unexpected identifier”,当我检查Unexpected Identifier是什么时,它是分号或引号,这是事情的结束字符串。

在PHP中,有一些内置函数可以对探测器进行文本渲染,因此不会造成损害并阻止代码中断。 JavaScript中有什么相同的东西吗?我知道我可以只替换字符,但问题是我并不总是知道字符串包含哪些字符,因此一个更“通用”的函数来处理转义有害字符将非常有用。

1 个答案:

答案 0 :(得分:1)

当您从后端渲染页面时,调用您需要清理字符串。听起来你需要逃避引号,所以你的字符串不会过早结束。

基本上是这样的字符串

var foo = "asdkjhsadjkhsadjkhsajkdhsajkdhksajhd"sajkdhsakdjhsajkdhsajkdh";

需要逃避“用a。

var foo = "asdkjhsadjkhsadjkhsajkdhsajkdhksajhd\"sajkdhsakdjhsajkdhsajkdh";

并且不会发生JavaScript错误。

你还必须小心新线。那些你必须用'\ n'替换