Recherche de chaînes en JavaScript
Méthodes de recherche de chaînes
JavaScript String indexOf()
La méthode indexOf() renvoie l' index (position) de la première occurrence d'une chaîne dans une autre chaîne, ou elle renvoie -1 si la chaîne n'est pas trouvée :
Exemple
let text = "Veuillez localiser où 'locate' se produit !";
let index = text.indexOf("locate"); Remarque
JavaScript compte les positions à partir de zéro.
0 est la première position dans une chaîne, 1 est la deuxième, 2 est la troisième, ...
JavaScript String lastIndexOf()
La méthode lastIndexOf() renvoie l' index de la dernière occurrence d'un texte spécifié dans une chaîne :
Exemple
let text = "Veuillez localiser où 'locate' se produit !";
let index = text.lastIndexOf("locate"); Les méthodes indexOf() et lastIndexOf() renvoient -1 si le texte n'est pas trouvé :
Exemple
let text = "Veuillez localiser où 'locate' se produit !";
let index = text.lastIndexOf("John"); Les deux méthodes acceptent un deuxième paramètre comme position de départ pour la recherche :
Exemple
let text = "Veuillez localiser où 'locate' se produit !";
let index = text.indexOf("locate", 15); La méthode lastIndexOf() recherche en arrière (de la fin au début), ce qui signifie : si le deuxième paramètre est 15 , la recherche commence à la position 15 et recherche jusqu'au début de la chaîne.
Exemple
let text = "Veuillez localiser où 'locate' se produit !";
text.lastIndexOf("locate", 15); JavaScript String search()
La méthode search() recherche une chaîne dans une autre chaîne (ou une expression régulière) et renvoie la position de la correspondance :
Exemples
let text = "Veuillez localiser où 'locate' se produit !";
text.search("locate"); let text = "Veuillez localiser où 'locate' se produit !";
text.search(/locate/); Avez-vous remarqué ?
Les deux méthodes, indexOf() et search() , sont égales ?
Elles acceptent les mêmes arguments (paramètres) et renvoient la même valeur ?
Les deux méthodes ne sont PAS égales. Voici les différences :
- La méthode
search()ne peut pas prendre un deuxième argument de position de départ. - La méthode
indexOf()ne peut pas prendre de valeurs de recherche puissantes (expressions régulières).
Vous en apprendrez plus sur les expressions régulières dans un chapitre ultérieur.
JavaScript String match()
La méthode match() renvoie un tableau contenant les résultats de la correspondance d'une chaîne avec une autre chaîne (ou une expression régulière).
Exemples
Effectuez une recherche pour "ain" :
let text = "La pluie en ESPAGNE reste principalement dans la plaine";
text.match("ain"); Effectuez une recherche pour "ain" :
let text = "La pluie en ESPAGNE reste principalement dans la plaine";
text.match(/ain/); Effectuez une recherche globale pour "ain" :
let text = "La pluie en ESPAGNE reste principalement dans la plaine";
text.match(/ain/g); Effectuez une recherche globale, insensible à la casse pour "ain" :
let text = "La pluie en ESPAGNE reste principalement dans la plaine";
text.match(/ain/gi); Remarque
Si une expression régulière n'inclut pas le modificateur g (recherche globale), match() ne renverra que la première correspondance dans la chaîne.
Lisez-en plus sur les expressions régulières dans le chapitre JS RegExp .
JavaScript String matchAll()
La méthode matchAll() renvoie un itérateur contenant les résultats de la correspondance d'une chaîne avec une autre chaîne (ou une expression régulière).
Exemple
const iterator = text.matchAll("Chats");
Si le paramètre est une expression régulière, le drapeau global (g) doit être défini, sinon une TypeError est levée.
Exemple
const iterator = text.matchAll(/Chats/g);
Si vous souhaitez effectuer une recherche insensible à la casse, le drapeau insensible (i) doit être défini :
Exemple
const iterator = text.matchAll(/Chats/gi);
Remarques
matchAll() est une fonctionnalité ES2020 .
matchAll() ne fonctionne pas dans Internet Explorer.
JavaScript String includes()
La méthode includes() renvoie true si une chaîne contient une valeur spécifiée.
Sinon, elle renvoie false .
Exemples
Vérifiez si une chaîne inclut "monde" :
let text = "Bonjour le monde, bienvenue dans l'univers.";
text.includes("monde"); Vérifiez si une chaîne inclut "monde". Commencez à la position 12 :
let text = "Bonjour le monde, bienvenue dans l'univers.";
text.includes("monde", 12); JavaScript String startsWith()
La méthode startsWith() renvoie true si une chaîne commence par une valeur spécifiée.
Sinon, elle renvoie false :
Exemples
Renvoie vrai :
let text = "Bonjour le monde, bienvenue dans l'univers.";
text.startsWith("Bonjour"); Renvoie faux :
let text = "Bonjour le monde, bienvenue dans l'univers.";
text.startsWith("monde") Une position de départ pour la recherche peut être spécifiée :
Renvoie faux :
let text = "Bonjour le monde, bienvenue dans l'univers.";
text.startsWith("monde", 5) Renvoie vrai :
let text = "Bonjour le monde, bienvenue dans l'univers.";
text.startsWith("monde", 6) JavaScript String endsWith()
La méthode endsWith() renvoie true si une chaîne se termine par une valeur spécifiée.
Sinon, elle renvoie false :
Exemples
Vérifiez si une chaîne se termine par "Doe" :
let text = "John Doe";
text.endsWith("Doe"); Vérifiez si les 11 premiers caractères d'une chaîne se terminent par "monde" :
let text = "Bonjour le monde, bienvenue dans l'univers.";
text.endsWith("monde", 11);
Référence complète de JavaScript
Pour une référence complète à toutes les propriétés et méthodes JavaScript, avec des descriptions détaillées et de nombreux exemples, rendez-vous sur :
formation-ti.org' Référence complète de JavaScript .
La référence inclut toutes les mises à jour JavaScript de 1999 à 2025.