提问人:Christophe Caron 提问时间:7/22/2023 最后编辑:Christophe Caron 更新时间:7/22/2023 访问量:54
Javascript 错误处理特殊字符†
Javascript mishandling special character †
问:
在 中,我想标识最后一个“†”字符的位置。textarea
var textField = document.getElementById("main_field");
console.log(textField.value.indexOf("†"));
<textarea id="main_field">Text † entered by user † †</textarea>
虽然这在这里效果很好,但我在浏览器中得到奇怪的结果
但是,它找不到字符并返回 -1。
我试图理解角色的内在表现。它在控制台中输出为“‡”,我觉得这很奇怪。
答:
0赞
Lajos Arpad
7/22/2023
#1
首先,让我们看看它是如何工作的。
console.log(document.getElementById("textField1").value.lastIndexOf("†"));
console.log(document.getElementById("textField2").value.lastIndexOf("†"));
<textarea id="textField1" value="a†b†c†d"></textarea>
<textarea id="textField2">a†b†c†d</textarea>
现在我们已经看到了这一点,我们需要找出你的代码有什么问题。首先,您需要检查是否包含您正在搜索的字符。接下来,在代码中查看此调用:textField.value
.substring(0, startPos)
这实际上是从一开始直到 .从的名称来看,似乎不是在你想从中获取字符串之前获取字符串。startPos
startPos
startPos
startPos
评论
0赞
Lajos Arpad
7/22/2023
我希望在反对票的同时发表评论,这样我就可以改进答案可能存在的任何缺点。谢谢!
评论
‡
†
startPos
textField