JavaScript 错误处理特殊字符 †
P粉187160883
P粉187160883 2023-09-07 19:16:32
0
1
471

textarea 中,我想确定最后一个“†”字符的位置。

var textField = document.getElementById("main_field"); 

console.log(textField.value.indexOf("†"));
<textarea id="main_field">Text † entered by user † †</textarea>

虽然这在这里工作得很好,但我在浏览器中得到了奇怪的结果

但是,它找不到该字符并返回-1。

我试图理解角色的内在表现。它在控制台中输出为“–”,我觉得很奇怪。

P粉187160883
P粉187160883

全部回复(1)
P粉043432210

首先,让我们看看它是如何工作的。

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 获取它。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板