首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未捕获语法错误: Unicode行分隔符的标记无效或意外\u2028

未捕获语法错误: Unicode行分隔符的标记无效或意外\u2028
EN

Stack Overflow用户
提问于 2017-09-14 13:09:48
回答 1查看 625关注 0票数 1

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

如附图所示,有人在<textarea>中输入了包含\u2028个字符的文本。

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

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

我不能直接使用正则表达式,因为这将使我只使用一个字符,或者不能使用unicode的分隔符或控制字符范围,因为我的应用程序是本地化的,我不想冒着跳过数据的风险,因为我提到了字符范围。

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

EN

回答 1

Stack Overflow用户

发布于 2018-03-20 20:00:13

我也有类似的问题。我像这样用EJS生成html代码:

代码语言:javascript
复制
window.myState = <%- JSON.stringify(locals) %>

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

代码语言:javascript
复制
window.myState = JSON.parse(`<%- JSON.stringify(locals) %>`)

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46210955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档