我接受用户输入(JS 代码)并实时执行(处理)它们以显示一些输出。
有时代码有那些零宽度的空格;这真的很奇怪。我不知道用户是如何输入的。示例: "($".length === 3
我需要能够从我的 JS 代码中删除该字符。我该怎么做?或者也许有其他方法可以执行该 JS 代码,以便浏览器不考虑零宽度空格字符?
原文由 user1437328 发布,翻译遵循 CC BY-SA 4.0 许可协议
我接受用户输入(JS 代码)并实时执行(处理)它们以显示一些输出。
有时代码有那些零宽度的空格;这真的很奇怪。我不知道用户是如何输入的。示例: "($".length === 3
我需要能够从我的 JS 代码中删除该字符。我该怎么做?或者也许有其他方法可以执行该 JS 代码,以便浏览器不考虑零宽度空格字符?
原文由 user1437328 发布,翻译遵循 CC BY-SA 4.0 许可协议
我遇到了一个问题,一些不可见的字符破坏了我的 JSON 并导致 Unexpected Token ILLEGAL 异常导致我的网站崩溃。
这是我使用 RegExp 变量的解决方案:
var re = new RegExp("\u2028|\u2029");
var result = text.replace(re, '');
您可以在此处找到有关 Javascript 和零宽度空格的更多信息: 零宽度空格
原文由 Technotronic 发布,翻译遵循 CC BY-SA 3.0 许可协议
8 回答4.6k 阅读✓ 已解决
6 回答3.4k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
Unicode 具有以下零宽度字符:
要从 JavaScript 中的字符串中删除它们,您可以使用一个简单的正则表达式:
请注意,还有更多符号可能不可见。例如,一些 ASCII 的控制字符。