JavaScript 錯誤處理特殊字元 †
P粉187160883
P粉187160883 2023-09-07 19:16:32
0
1
430

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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!