gpt4 book ai didi

javascript - 正则表达式找不到 '\u2028' unicode 字符

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:28:55 25 4
gpt4 key购买 nike

我们在追踪用户提交的数据中的\u2028(行分隔符)来源时遇到了很多麻烦,这会导致 Firefox 中出现“未终止的字符串文字”错误。

因此,我们正在考虑在将其提交到服务器(然后是数据库)之前将其过滤掉。

在大量谷歌搜索和阅读其他人的问题后,很明显我必须在提交到数据库之前过滤掉这些字符。

在编写过滤器之前,我尝试搜索字符以确保它可以使用以下方法找到它:

var index = content.search("/\u2028/");
alert("Index: [" + index + "]");

我每次都得到 -1 作为结果,即使我知道该字符在内容变量中(我已经通过服务器端的 Java jUnit 测试确认)。

假设 content.replace() 的工作方式与 search() 的工作方式相同,我是否做错了什么或遗漏了什么以查找和删除这些行分隔符?

最佳答案

您的正则表达式语法不正确。使用正则表达式文字时,您只能使用两个正斜杠。它应该只是:

var index = content.search("\u2028");

或:

var index = content.search(/\u2028/); // regex literal

但这真的应该在服务器上完成,如果有的话。可以轻松绕过 JavaScript 清理。它只是为了方便用户使用,我认为不小心输入行分隔符并不常见。

关于javascript - 正则表达式找不到 '\u2028' unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3146694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com