搜尋

首頁  >  問答  >  主體

JavaScript 錯誤處理特殊字元 †

textarea 中,我想確定最後一個「†」字元的位置。

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

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

雖然這裡工作得很好,但我在瀏覽器中得到了奇怪的結果

但是,它找不到該字元並返回-1。

我試著去理解角色的內在表現。它在控制台中輸出為“–”,我覺得很奇怪。

P粉187160883P粉187160883486 天前497

全部回覆(1)我來回復

  • P粉043432210

    P粉0434322102023-09-08 09:31:02

    首先,讓我們看看它是如何運作的。

    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
  • 取消回覆