Recherche de chaînes de caractères JavaScript

Méthode JavaScript utilisée pour rechercher une chaîne de caractères :

  • String.indexOf()
  • String.lastIndexOf()
  • String.startsWith()
  • String.endsWith()

String.indexOf()

indexOf() La méthode renvoie le texte spécifié dans la chaîne de caractèresPremièreL'index (de la position) apparaissant :

Exemple

let str = "Please locate where 'locate' occurs!";
str.indexOf("locate")    // retourne 7

Essayez-le vous-même

JavaScript commence à zéro pour calculer les positions.

0 est la première position d'une chaîne de caractères, 1 est la deuxième, 2 est la troisième ......

String.lastIndexOf()

lastIndexOf() La méthode retourne l'index de la dernière apparition du texte spécifié dans la chaîne :

Exemple

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("locate")    // retourne 21

Essayez-le vous-même

Si le texte n'est pas trouvé,indexOf() et lastIndexOf() Retournent tous deux -1 :

Exemple

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("Bill")    // retourne -1

Essayez-le vous-même

Ces deux méthodes acceptent le second paramètre en tant que position de départ de la recherche :

Exemple

let str = "Please locate where 'locate' occurs!";
str.indexOf("locate", 15)    // retourne 21

Essayez-le vous-même

lastIndexOf() La méthode recherche vers l'arrière (de la fin vers le début), ce qui signifie : si le second paramètre est 15Si vous spécifiez une position de départ, la recherche commence à cette position et se poursuit jusqu'au début de la chaîne.

Exemple

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("locate", 15)    // retourne 7

Essayez-le vous-même

String.search()

search() La méthode recherche une valeur spécifiée dans une chaîne de caractères et retourne la position du match :

Exemple

let str = "Please locate where 'locate' occurs!";
str.search("locate")     // retourne 7

Essayez-le vous-même

Avez-vous remarqué ?

indexOf() et search() Ces deux méthodes, sont-elles égales ?

Elles acceptent les mêmes paramètres et retournent les mêmes valeurs ?

Ces deux méthodes ne sont pas égales. Les différences sont les suivantes :

  • search() La méthode ne peut pas accepter un second paramètre de position de départ.
  • indexOf() La méthode ne peut pas utiliser des valeurs de recherche puissantes (expressions régulières).

Vous apprendrez plus sur les expressions régulières dans les chapitres suivants.

String.match()

La méthode match() recherche des éléments correspondants dans une chaîne selon l'expression régulière et les retourne sous forme d'objet Array.

Exemple 1

Recherche de "ain" dans une chaîne de caractères :

let text = "La pluie en ESPAGNE reste principalement dans la plaine";
text.match(/ain/g)    // retourne le tableau [ain,ain,ain]

Essayez-le vous-même

Apprenez plus sur les expressions régulières dans le chapitre JS RegExp.

Si l'expression régulière ne contient pas le modificateur g (recherche globale), la méthode match() ne retournera que le premier élément correspondant de la chaîne.

Syntaxe

string.match(regexp)
regexp Obligatoire. La valeur à rechercher, sous forme d'expression régulière.
Retour : Tableau, contenant les éléments correspondants, chaque élément correspondant à un projet, s'il n'y a pas d'élément correspondant, il est null.

Exemple 2

Effectuer une recherche globale non sensible à la casse pour "ain":

let text = "La pluie en ESPAGNE reste principalement dans la plaine";
text.match(/ain/gi)   // Retourne le tableau [ain, AIN, ain, ain]

Essayez-le vous-même

String.includes()

Si la chaîne de caractères contient la valeur spécifiée,includes() La méthode retourne true.

Exemple

let text = "Hello world, welcome to the universe.";
text.includes("world")    // Retourne true

Essayez-le vous-même

Prise en charge du navigateur

Internet Explorer ne prend pas en charge String.includes().

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 40 Safari 9 Opera 28
mars 2015 juillet 2015 août 2015 octobre 2015 mars 2015

Syntaxe

string.includes(searchvalue, start)
searchvalue Obligatoire. La chaîne de caractères à rechercher.
start Optionnel. Par défaut, 0. Position de début de la recherche.
Retour : Si la chaîne de caractères contient cette valeur, retourne true,sinon retourne false.
Version de JS : ES6 (2015)

Vérifiez si la chaîne de caractères contient "world", à partir de la position 12 de la recherche :

let text = "Hello world, welcome to the universe.";
text.includes("world", 12)    // Retourne false

Essayez-le vous-même

String.startsWith()

Si la chaîne de caractères commence par la valeur spécifiée, alors startsWith() La méthode retourne true,sinon retourne false:

Exemple

let text = "Hello world, welcome to the universe.";
text.startsWith("Hello")   // Retourne true

Essayez-le vous-même

Syntaxe

string.startsWith(searchvalue, start)

Valeur du paramètre

Paramètre Description
searchvalue Obligatoire. La valeur à rechercher.
start Optionnel. Par défaut, 0. Position de début de la recherche.

Exemple

let text = "Hello world, welcome to the universe.";
text.startsWith("world")    // Retourne false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 5)    // Retourne false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 6)    // Retourne true

Essayez-le vous-même

Remarque :startsWith() La méthode distingue les majuscules et les minuscules.

Internet Explorer ne prend pas en charge startsWith() Méthode.

La première version de navigateur complètement prise en charge est :

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 17 Safari 9 Opera 28
mars 2015 juillet 2015 août 2015 octobre 2015 mars 2015

String.endsWith()

Si la chaîne de caractères se termine par la valeur spécifiée, alors endsWith() La méthode retourne true,sinon retourne false:

Exemple

Vérifiez si la chaîne de caractères se termine par "Gates" :

var text = "Bill Gates";
text.endsWith("Gates")    // Retourne true

Essayez-le vous-même

Syntaxe

string.endsWith(searchvalue, length)

Valeur du paramètre

Paramètre Description
searchvalue Obligatoire. La valeur à rechercher.
length Optionnel. Longueur à rechercher.

Recherchez les 11 premiers caractères de la chaîne qui se termine par "world" :

let text = "Hello world, welcome to the universe.";
text.endsWith("world", 11)    // Retourne true

Essayez-le vous-même

Remarque :endsWith() La méthode distingue les majuscules et les minuscules.

Internet Explorer ne prend pas en charge endsWith() Méthode.

La première version du navigateur qui prend en charge cette méthode est :

Chrome IE Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
Mai 2016 Avril 2017 Juin 2017 Septembre 2016 Juin 2016

Manuel de référence complet des chaînes

Pour une référence complète, veuillez visiter notre Manuel de référence des chaînes JavaScript.

Ce manuel contient des descriptions et des exemples de toutes les propriétés et méthodes des chaînes.