Cette page a été traduite à partir de l'anglais par la communauté.Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.
String.prototype.search()
Baseline Widely available
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis juillet 2015.
La méthodesearch() éxecute une recherche dans une chaine de caractères grâce à une expression rationnelle appliquée sur la chaîne courante.
Dans cet article
Exemple interactif
const paragraph = "I think Ruth's dog is cuter than your dog!";// Anything not a word character, whitespace or apostropheconst regex = /[^\w\s']/g;console.log(paragraph.search(regex));// Expected output: 41console.log(paragraph[paragraph.search(regex)]);// Expected output: "!"Syntaxe
str.search(regexp);Paramètres
Valeur de retour
Si la recherche aboutit,search() renvoie un entier qui correspond à l'indice de la première correspondance trouvée dans la chaîne. Si rien n'est trouvé, la méthode renvoie-1.
Description
Si la recherche est positive,search() renvoie l'indice de la première correspondance pour l'expression rationnelle au sein de la chaine de caractères. Sinon, la méthode renvoie -1.
Si on souhaite savoir si un motif est trouvé dans une chaine de caractères, on utilisera cette méthode (semblable à la méthodetest()) du prototype deRegExp ; pour plus d'informations (mais une éxecution plus lente), on utiliseramatch() (semblable à la méthodeexec() pour les expressions rationnelles). La méthodetest est semblable mais renvoie uniquement un booléen indiquant si une correspondance a été trouvée.
Exemples
Dans l'exemple suivant, on utilise une chaîne de caractères pour laquelle on applique deux expressions rationnelles (la première permet d'obtenir une correspondance et la seconde n'en trouve aucune).
var maChaine = "CoucOu";var regex1 = /[A-Z]/g;var regex2 = /[.]/g;console.log(maChaine.search(regex1)); // Renvoie 0, la position de la première majusculeconsole.log(maChaine.search(regex2)); // Renvoie -1 car il n'y a aucun point dans la chaîneSpécifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-string.prototype.search> |