Il y a un cas où je reçois une chaîne avec les caractères spéciaux suivants en elle:La comparaison du caractère spécial suivant dans JavaScript renvoie un résultat inapproprié?
<[email protected]#$%^&*()_+|}{":?></.,';][=-`~DS0>
Tout en effectuant une opération de comparaison sur cette chaîne en utilisant l'opérateur à double égal à (==) en JavaScript, il ne cède pas le résultat approprié.
Bien que les deux chaînes contiennent la même chaîne spécifiée, l'opération de comparaison ne renvoie pas true.
Mon cas se traduirait par un peu comme cela en JavaScript:
var strValue = "<[email protected]#$%^&*()_+|}{":?></.,';][=-`~DS0>";
var itrValue = "<[email protected]#$%^&*()_+|}{":?></.,';][=-`~DS0>";
if (itrValue == strValue) {
alert("True");
} else {
alert("false");
}
Vous avez un guillemet au milieu non échappés de itrVal ue Cela provoque une erreur "SyntaxError: label non valide" dans Firebug. Alerte-t-elle vraiment "faux", ou est-ce que ça cesse juste tranquillement et douloureusement? – Boldewyn
Non, il ne retourne rien. En fait, je veux que le code fonctionne de cette façon. Renvoie-moi vrai ou faux. J'ai besoin de modifier les chaînes de telle sorte que la comparaison sur eux peut être effectuée. Et oui, le problème est dû à 2 choses 1) u spécifiés guillemet 2 séquence d'échappement), la présence des entités de caractères HTML font référence à http://www.w3schools.com/HTML/html_entities.asp Existe-t-il un moyen de comparer de telles chaînes en javascript? – Arun