Dans ce bref didacticiel sur la correspondance d’expressions régulières JavaScript, vous apprendrez à tester si une chaîne correspond à une expression régulière à l’aide de la test()
méthode.
Les chaînes sont des morceaux de texte qui peuvent contenir diverses données, telles que des URL, des numéros de téléphone, des noms, des numéros, etc. Dans de nombreux cas, vous devez vérifier si une chaîne contient ou non un morceau de texte ou certains types de caractères.
Lorsque vous testez si une chaîne contient une sous-chaîne spécifique, vous pourriez être enclin à utiliser une méthode telle que indexOf()
. Cependant, pour des tests et des conditions plus flexibles, l’utilisation d’expressions régulières est une meilleure option.
La correspondance d’expressions régulières JavaScript vous permet de vérifier si une chaîne contient un modèle, une sous-chaîne ou des types de caractères spécifiques. Les expressions régulières sont utiles pour détecter des informations dans une chaîne qui peuvent être écrites dans différents formats, tels que des dates.
Test des chaînes par rapport aux expressions régulières
Pour tester si une chaîne correspond à une expression régulière, vous devez d’abord créer une instance d’expression régulière. Ensuite, vous pouvez utiliser le test()
méthode disponible sur l’expression régulière pour vérifier si la chaîne correspond à l’expression régulière ou non.
Le test()
La méthode accepte un paramètre : la chaîne à tester par rapport au modèle. Elle renvoie une valeur booléenne indiquant si la chaîne correspond ou non à l’expression régulière.
Par exemple:
const pattern = /test.*regular/;
const str = 'I want to test this string against a regular expression';
if (pattern.test(str)) {
console.log('Matched');
} else {
console.log('Not Matched');
}
Dans cet exemple, vous créez le motif test.*regular
. Ce modèle signifie qu’une chaîne doit contenir les mots test
et regular
dans cet ordre, et que ces mots peuvent être séparés par zéro ou plusieurs occurrences de n’importe quel caractère.
Si test()
renvoie vrai, Matched
est connecté à la console. Sinon, Not Matched
est connecté à la console.
Depuis str
contient les mots test
et regular
et test
précède regular
dans la chaîne, il correspondra au motif et test()
renverra vrai.
Vous pouvez également utiliser le constructeur RegExp pour déclarer les modèles :
const pattern = new RegExp('test.*regular');
const str = 'I want to test this string against a regular expression';
if (pattern.test(str)) {
console.log('Matched');
} else {
console.log('Not Matched');
}
Vous pouvez tester cela dans la démo CodePen suivante.
Voir le stylo
Test d’une chaîne par rapport à une expression régulière par SitePoint (@SitePoint)
sur CodePen.
Exemples courants
Cette section montre quelques exemples d’utilisation de la correspondance d’expressions régulières JavaScript pour tester des cas d’utilisation courants. Il convient de noter que les expressions régulières ici peuvent ne pas être la solution parfaite dans chaque cas. Ils sont chacun utilisés pour donner un exemple simple du fonctionnement du processus.
Tester les URL
Vous pouvez tester si une chaîne est une URL à l’aide d’expressions régulières. Vous pouvez expérimenter cela en utilisant la démo CodePen suivante.
Voir le stylo
Testez si une chaîne est une URL en JavaScript par SitePoint (@SitePoint)
sur CodePen.
Veuillez noter que le modèle d’expression régulière utilisé ci-dessus s’attend à ce que l’URL commence par http://
ou https://
.
Tester les e-mails
Vous pouvez tester si une chaîne est une adresse e-mail valide à l’aide d’expressions régulières. La démo CodePen suivante montre comment.
Voir le stylo
Le test est une chaîne est un e-mail en JS par SitePoint (@SitePoint)
sur CodePen.
Dates des tests
Vous pouvez tester si une chaîne est une date à l’aide d’expressions régulières. La démonstration CodePen suivante montre comment cela peut être fait.
Voir le stylo
Testez si une chaîne est une date en JavaScript par SitePoint (@SitePoint)
sur CodePen.
Veuillez noter que le modèle d’expression régulière utilisé ci-dessus s’attend à ce que la date soit au format “JJ-MM-AAAA” ou “JJ/MM/AAAA”.
Autres méthodes de correspondance JavaScript Regex
Il existe d’autres méthodes pour tester si une chaîne correspond à une expression régulière. Cet article ne les couvre pas tous, mais en voici un bref aperçu :
- correspondre. Cette méthode est disponible sur les chaînes. Il accepte une expression régulière comme paramètre et récupère les parties de la chaîne qui correspondent à l’expression régulière, s’il y en a.
- recherche. Cette méthode est disponible sur les chaînes. Il accepte une expression régulière en tant que paramètre, recherche si le modèle d’expression régulière existe dans la chaîne et récupère l’index de la première occurrence du modèle dans la chaîne s’il existe.
- exec. Cette méthode est disponible sur les expressions régulières. Il accepte une chaîne en tant que paramètre, recherche le modèle d’expression régulière dans la chaîne et récupère les résultats, s’il y en a.
Conclusion
Les expressions régulières sont très utiles pour tester si une chaîne contient un certain modèle ou une sous-chaîne. Avec la correspondance d’expressions régulières JavaScript, vous pouvez vérifier si une chaîne est une URL, une date, une adresse IP ou d’autres types et formats.
Par rapport à l’utilisation d’autres méthodes comme indexOf()
le test()
La méthode disponible sur les expressions régulières vous donne plus de flexibilité lors du test si une chaîne correspond à un modèle ou non.
Lecture connexe :