gpt4 book ai didi

javascript - 为什么 JavaScript 字符串空白字符不匹配?

转载 作者:行者123 更新时间:2023-12-03 21:47:12 24 4
gpt4 key购买 nike

我在 HTML 中得到了以下结构:

<div id="text">
some&nbsp;text
</div>

如果我 trim 文本并测试它:

$("#text").text().trim() === "some text"

它返回false,还有:

$("#text").text().trim() === "some&nbsp;text"

返回false,但是:

/^some\s{1}text$/.test($("#text").text().trim())

返回true。所以请告诉我,这里出了什么问题。

正如您所建议的,我正在使用 jQuery (1.6)。

最佳答案

这是因为不间断空格(charCode 160)并不完全等于空格(charCode 32)

jquery 的 .text() 将 HTML 实体编码为其直接的 unicode 等效项,因此   变为 String.fromCharCode(160)

将所有不间断空格替换为普通空格即可解决:

d.text().replace(String.fromCharCode(160) /* no breaking space*/,
" " /* ordinary space */) == "some text"

或者更好:

d.text().replace(/\s/g /* all kinds of spaces*/,
" " /* ordinary space */) == "some text"

关于javascript - 为什么 JavaScript 字符串空白字符不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22036576/

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