Maison  >  Questions et réponses  >  le corps du texte

Erreur JavaScript lors de la gestion des caractères spéciaux †

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粉187160883P粉187160883408 Il y a quelques jours445

répondre à tous(1)je répondrai

  • P粉043432210

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

    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.

    répondre
    0
  • Annulerrépondre