JavaScript propose plusieurs techniques pour rechercher un mot, un nombre ou une autre chaîne de caractères dans une chaîne. La recherche peut être pratique, par exemple, si vous souhaitez savoir quel navigateur Web vos visiteurs utilisent pour consulter votre site. Chaque navigateur Web identifie des informations le concernant dans une chaîne contenant de nombreuses statistiques différentes. Vous pouvez voir cette chaîne en ajoutant le JavaScript suivant à une page Web et en le prévisualisant dans un navigateur Web :
<script> alert(navigator.userAgent); </script>
Navigator est un objet navigateur Web et userAgent est une propriété de l'objet navigateur. L'attribut userAgent contient une longue liste d'informations. Par exemple, pour Internet Explorer 7 exécuté sous Windows XP, l'attribut userAgent est : Mozilla/4.0 (compatible ; MSIE 7.0 ; Windows NT 5.1). Donc, si vous voulez voir si le navigateur Web est IE 7, vous pouvez simplement rechercher « MSIE 7 » dans la chaîne userAgent. L’un des moyens de rechercher une chaîne est la méthode indexOf(). Ajoutez un point après la chaîne, puis indexOf() et fournissez la chaîne que vous recherchez. La structure de base est la suivante :
string.indexOf('chaîne à rechercher')
La méthode indexOf() renvoie un nombre : si la chaîne recherchée n'est pas trouvée, la méthode renvoie -1. Donc, si vous souhaitez vérifier Internet Explorer, vous pouvez faire ceci :
var browser=navigator.userAgent;//this is a string if(browser.indexOf('MSIE')!=-1){ //this is Internet Explorer }
Dans cet exemple, si indexOf() ne trouve pas 'MSIE' dans la chaîne userAgent, il renverra -1, donc la condition teste pour voir si le résultat n'est pas égal à (!=) -1. Lorsque la méthode indexOf() trouve la chaîne qu'elle recherche, elle renvoie un nombre égal au début de la chaîne qu'elle recherche. L'exemple suivant rend les choses un peu plus claires :
var quote='To be, or not to be.' var searchPosition=quote.indexOf('To be');//returns 0
Ici, indexOf() recherche la position de « Être » dans la chaîne « Être ou ne pas être ». La plus grande chaîne commence par « To be », donc indexOf() trouve « To be » en première position. Cependant, de la façon dont il est programmé, la première position est considérée comme étant 0, la deuxième lettre (o) est en position 1 et la troisième lettre (un espace dans cet exemple) est 2.
La méthode indexOf() commence la recherche à partir du début de la chaîne. Vous pouvez également utiliser la méthode lastIndexOf() pour lancer la recherche à partir de la fin de la chaîne. Par exemple, dans la citation de Shakespeare, le mot « être » apparaît à deux endroits, vous pouvez donc utiliser indexOf() pour trouver le premier « être » et lastIndexOf() pour trouver le dernier « être » :
var quote="To be, or not to be." var firstPosition=quote.indexOf('be');//returns 3 var lastPosition=quote.lastIndexOf('be');//returns 17
Dans les deux exemples, si 'be' n'existe nulle part dans la chaîne, le résultat sera -1 ; s'il n'y a qu'une seule instance de la chaîne recherchée, indexO f() et lastIndexOf() renverront la même valeur. , qui correspond à la position dans la chaîne la plus grande où commence la chaîne de recherche.
Ce qui précède représente l’intégralité du contenu de cet article, j’espère que vous l’aimerez tous.