Maison > interface Web > js tutoriel > le corps du texte

Comment déterminer si deux chaînes sont égales dans les connaissances JavaScript_Basic

WBOY
Libérer: 2016-05-16 15:51:04
original
1705 Les gens l'ont consulté

Convertissez d'abord toutes les valeurs saisies par l'utilisateur en majuscules (ou minuscules), puis comparez :

   var name = document.form1.txtUserName.value.toLowerCase();


   if(name == "urname")


   {


     // statements go here.


   }

Copier après la connexion



JavaScript a deux opérateurs d'égalité. L'un est complètement rétrocompatible, le standard "==". Si les deux types d'opérande sont incohérents, il effectuera automatiquement une conversion de type sur l'opérande à un moment donné. Considérez l'instruction d'affectation suivante :

.
   var strA = "i love you!";


   var strB = new String("i love you!");

Copier après la connexion



Ces deux variables contiennent la même séquence de caractères, mais ont des types de données différents. La première est une chaîne et la seconde est un objet. Lors de l'utilisation de l'opérateur "==", JavaScript tentera diverses évaluations pour détecter si les deux seront identiques. séquence égale dans certains cas. Ainsi, l’expression suivante est évaluée comme vraie : strA == strB.


Le deuxième opérateur est le "strict" "===", qui n'est pas aussi indulgent lors de l'évaluation et n'effectue pas de conversion de type. Ainsi, l'expression strA === strB est évaluée comme fausse, bien que les deux variables aient la même valeur.


Parfois, la logique du code vous oblige à déterminer si deux valeurs ne sont pas égales. Il existe ici deux options : "!=" et strict "!==". Leur relation est similaire à "==" et ". ===".


Débat :


"==" et "!=" feront de leur mieux pour trouver les valeurs correspondantes lors de l'évaluation, mais vous souhaiterez peut-être toujours effectuer une conversion de type explicite avant de comparer pour les "aider" à faire leur travail. Par exemple, si vous souhaitez déterminer si la valeur d'entrée (chaîne) d'un utilisateur est égale à un nombre, vous pouvez laisser "==" vous aider à terminer la conversion de type :

   if(document.form1.txtAge.value == someNumericVar) { ... }
Copier après la connexion



Vous pouvez également convertir à l'avance :

   if(parseInt(document.form1.txtAge.value) == someNumericVar) { ... }
Copier après la connexion



Si vous êtes plus habitué aux langages de programmation fortement typés (tels que C#, Java, etc.), alors vous pouvez continuer votre habitude (conversion de type) ici, ce qui améliorera également la lisibilité du programme.

Il y a une chose à laquelle vous devez faire attention, ce sont les paramètres régionaux de l’ordinateur. Si vous comparez des chaînes avec "<" et ">", alors JavaScript les compare en tant qu'Unicode, mais évidemment les internautes ne lisent pas le texte en tant qu'Unicode :) Par exemple en espagnol, selon le tri traditionnel, "ch " sera trié comme un caractère entre "c" et "d". localeCompare() fournit un moyen d'utiliser le classement de caractères des paramètres régionaux par défaut.

  var strings; // 要排序的字符串数组,假设已经得到初始化


  strings.sort(function(a,b) { return a.localeCompare(b) }); // 调用sort()方法进行排序

Copier après la connexion

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal