Uncaught Syntaxerror:Unicode行分隔符的无效或意外标记\ u2028

时间:2017-09-14 05:09:48

标签: javascript unicode

有谁知道javascript如何处理unicode字符并判断它是无效的?

errorimage
如附图所示,有人输入了<textarea>中具有\ u2028字符的文本。

现在,当页面打开并响应时,会抛出错误。

我可以在编译时检查这些字符的文本吗?

我不能直接使用正则表达式,因为这样可以只保存一个字符或者不能使用unicode的分隔符或控制字符范围,因为我的应用程序是本地化的,我不想冒险通过提及来跳过数据范围的字符。

所以我想知道是否可以像运行时的​​javascript那样通过验证来检查字符串?

1 个答案:

答案 0 :(得分:0)

我有类似的问题。我使用EJS生成html代码:

window.myState = <%- JSON.stringify(locals) %>

locals包含导致语法错误的特殊字符。 作为一种解决方法,我已将其更改为:

window.myState = JSON.parse(`<%- JSON.stringify(locals) %>`)

这里的诀窍是使用 ES6模板字符串文字不支持,例如在IE11中。