Erreur JavaScript lors de la gestion des caractères spéciaux †
P粉187160883
P粉187160883 2023-09-07 19:16:32
0
1
474

Dans textarea, je souhaite déterminer la position du dernier caractère "†".

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

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

Bien que cela fonctionne bien ici, j'obtiens des résultats étranges dans le navigateur

Cependant, il ne trouve pas le caractère et renvoie -1.

J'essaie de comprendre la performance intérieure du personnage. Il s'affiche sous la forme "-" dans la console, ce que je trouve étrange.

P粉187160883
P粉187160883

répondre à tous(1)
P粉043432210

Tout d’abord, voyons comment cela fonctionne.

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>

Maintenant que nous avons vu cela, nous devons découvrir ce qui ne va pas avec votre code. Tout d’abord, vous devez vérifier si textField.value contient le caractère que vous recherchez. Ensuite, regardez cet appel dans le code :

.substring(0, startPos)

Il s'agit en fait de l'obtenir à partir de zéro jusqu'à ce que startPos 的子字符串。从 startPos 的名称来看,似乎不是从 startPos 之前获取字符串,而是从 startPos l'obtienne.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal