有人知道javascript是如何处理unicode字符并判定其无效的吗?

如附图所示,有人在<textarea>中输入了包含\u2028个字符的文本。
现在,当页面打开并响应时,这会抛出一个错误。
我可以在编译时检查文本中的这些字符吗?
我不能直接使用正则表达式,因为这将使我只使用一个字符,或者不能使用unicode的分隔符或控制字符范围,因为我的应用程序是本地化的,我不想冒着跳过数据的风险,因为我提到了字符范围。
所以我想知道是否可以像javascript在运行时一样通过验证来检查字符串?
发布于 2018-03-20 20:00:13
我也有类似的问题。我像这样用EJS生成html代码:
window.myState = <%- JSON.stringify(locals) %>其中,locals包含导致语法错误的特殊字符。作为一种解决方法,我将其更改为:
window.myState = JSON.parse(`<%- JSON.stringify(locals) %>`)这里的技巧是使用ES6模板字符串,这是不支持的,例如在IE11中。
https://stackoverflow.com/questions/46210955
复制相似问题