Maison >interface Web >js tutoriel >Conseil rapide: test si une chaîne correspond à un regex en javascript
Points de base
test()
de JavaScript est un outil pratique pour vérifier si une chaîne correspond à une expression régulière. Cette méthode accepte une chaîne comme argument et renvoie une valeur booléenne indiquant si la chaîne correspond à l'expression régulière. indexOf()
. match
, search
et exec
. Ces méthodes sont utilisées pour récupérer une partie d'une chaîne qui correspond à une expression régulière, à rechercher des modèles d'expression régulière dans une chaîne et des résultats de recherche. Ce court didacticiel expliquera comment utiliser la méthode test()
pour tester si une chaîne correspond à une expression régulière.
Les stands sont des fragments de texte qui peuvent contenir diverses données telles que les URL, les numéros de téléphone, les noms, les numéros, etc. Dans de nombreux cas, vous devez vérifier si la chaîne contient un morceau de texte ou un type de caractère.
Lorsque vous testez si une chaîne contient une sous-chaîne spécifique, vous pouvez avoir tendance à utiliser des méthodes comme indexOf()
. Cependant, pour des tests et des conditions plus flexibles, l'utilisation d'expressions régulières est un meilleur choix.
La correspondance d'expression régulière JavaScript vous permet de vérifier si une chaîne contient un modèle, une sous-chaîne ou un type de caractère spécifique. Les expressions régulières sont utiles pour détecter les informations dans les chaînes qui peuvent être écrites dans différents formats, tels que les dates.
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. Vous pouvez ensuite utiliser la méthode test()
disponible sur l'expression régulière pour vérifier si la chaîne correspond à l'expression régulière.
test()
La méthode accepte un paramètre: la chaîne à tester contre le motif. Il renvoie une valeur booléenne indiquant si la chaîne correspond à l'expression régulière.
Exemple:
<code class="language-javascript">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'); }</code>
Dans cet exemple, vous créez le motif test.*regular
. Ce modèle signifie que la chaîne doit contenir les mots "test" et "régulière" dans cet ordre, et les mots peuvent être séparés par zéro ou plus de caractères.
Si test()
Renvoie true
, "Matted" est enregistré dans la console. Sinon, enregistrez "non correspondant" dans la console.
Puisque str
contient les mots "test" et "régulière", et "test" est avant "régulière" dans la chaîne, il correspondra au modèle et test()
retournera true
.
Vous pouvez également déclarer le modèle en utilisant RegExp
Constructeur:
<code class="language-javascript">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'); }</code>
Vous pouvez le tester dans la démo de codepen ci-dessous.
Cette section montre quelques exemples sur la façon d'utiliser la correspondance de l'expression régulière JavaScript pour tester les cas d'utilisation courants. Il convient de noter que les expressions régulières utilisées ici peuvent ne pas être la solution parfaite dans tous les cas. Ils sont chacun utilisés pour fournir un exemple simple du fonctionnement du processus.
Vous pouvez utiliser des expressions régulières pour tester si une chaîne est une URL. Vous pouvez expérimenter la démonstration du code de code suivante.
Notez que le modèle d'expression régulière utilisé ci-dessus s'attend à ce que l'URL commence par http://
ou https://
.
Vous pouvez utiliser des expressions régulières pour tester si une chaîne est une adresse e-mail valide. La démonstration du code de code suivante montre comment le faire.
Vous pouvez utiliser des expressions régulières pour tester si une chaîne est une date. La démonstration du code de code suivante montre comment le faire.
Notez que le format du modèle d'expression régulière utilisé ci-dessus est "dd-mm-yyy" ou "dd / mm / yyyy".
Il existe d'autres moyens de tester si une chaîne correspond à une expression régulière. Cet article ne le présentera pas dans son intégralité, mais ce qui suit est un bref aperçu:
match
. Cette méthode est disponible sur les chaînes. Il accepte une expression régulière comme un argument et récupère la partie de la chaîne qui correspond à l'expression régulière (si elle existe). search
. Cette méthode est disponible sur les chaînes. Il accepte les expressions régulières comme arguments, recherchant si le modèle d'expression régulière existe dans la chaîne, et dans le cas, la recherche de l'index dans lequel le modèle apparaît d'abord dans la chaîne. exec
. Cette méthode est disponible sur les expressions régulières. Il prend une chaîne comme argument, recherche la chaîne pour les modèles d'expression réguliers et récupère le résultat (s'il est présent). Les expressions régulières sont utiles pour tester si une chaîne contient un modèle ou une sous-chaîne spécifique. En utilisant la correspondance de l'expression régulière JavaScript, vous pouvez vérifier si la chaîne est une URL, une date, une adresse IP ou un autre type et format.
La méthode indexOf()
disponible sur les expressions régulières offre une plus grande flexibilité lors du test si une chaîne correspond aux modèles que d'utiliser d'autres méthodes telles que test()
.
lectures connexes:
La méthode match()
en JavaScript est un outil puissant pour récupérer les correspondances lors de la correspondance des chaînes à des expressions régulières. Il renvoie un tableau de résultats, y compris toute la chaîne de correspondance et toutes les parenthèses de sous-chaîne capturées. Si aucune correspondance n'est trouvée, retournez null
. Cette méthode est particulièrement utile lorsque vous devez manipuler des chaînes ou vérifier l'existence d'un motif spécifique dans une chaîne.
Contrairement à d'autres méthodes de chaîne telles que indexOf()
ou includes()
, la méthode match()
permet une correspondance de motifs plus complexe. Il utilise des expressions régulières, qui fournit un moyen flexible et concis de faire correspondre les chaînes de texte. Cela en fait un outil plus puissant pour les tâches telles que la validation des formulaires, l'extraction des données et la manipulation des chaînes.
Bien sûr, disons que vous avez une chaîne et que vous souhaitez trouver toutes les occurrences du mot "test". Voici comment le faire:
let str = "This is a test. Test is important.";
let result = str.match(/test/gi);
console.log(result); // ["test", "Test"]
Dans cet exemple, l'expression régulière /test/gi
est utilisée. L'indicateur «G» représente une recherche globale, et le drapeau «i» représente une recherche insensible à la cas.
Les expressions régulières, également appelées regex ou regexp, sont des modèles utilisés pour faire correspondre les combinaisons de caractères dans les chaînes. En JavaScript, les expressions régulières sont des objets qui peuvent être définis de deux manières: utiliser des littéraux ou utiliser le constructeur RegExp
. Ils fournissent un moyen puissant d'effectuer une correspondance de modèles sur certains personnages, mots et modèles de personnages.
Vous pouvez utiliser directement des expressions régulières comme paramètres à la méthode match()
. Par exemple, si vous souhaitez trouver tous les nombres dans une chaîne, vous pouvez utiliser les caractères spéciaux d
pour représenter les nombres dans une expression régulière:
let str = "The year is 2022.";
let result = str.match(/d /g);
console.log(result); // ["2022"]
Dans cet exemple, d
correspond à un ou plusieurs nombres, et l'indicateur "G" effectue une recherche globale pour toutes les correspondances, pas seulement le premier match.
Lors de l'utilisation de la méthode match()
, si aucune correspondance n'est trouvée, elle renvoie null
. Ceci est utile pour la vérification des conditions. Par exemple, vous pouvez vérifier si le résultat est null
avant de continuer avec d'autres opérations dans votre code.
Bien que la méthode match()
soit principalement utilisée pour la recherche, si vous souhaitez remplacer une partie de la chaîne en fonction du motif, JavaScript fournit la méthode replace()
, qui peut être utilisée par des expressions régulières. Cependant, vous pouvez utiliser la méthode match()
pour trouver la partie de la chaîne qui doit être remplacée.
Vous pouvez capturer des groupes en utilisant des supports dans des expressions régulières. La méthode match()
renvoie ces groupes en tant qu'éléments séparés dans le tableau de résultat. Par exemple:
let str = "The year is 2022.";
let result = str.match(/(d )/g);
console.log(result); // ["2022"]
Dans cet exemple, (d )
est un groupe qui correspond à un ou plusieurs nombres.
Oui, les expressions régulières prennent en charge une série de caractères spéciaux qui vous permettent de créer des modèles de recherche complexes. Par exemple, d
signifie n'importe quel nombre, w
signifie n'importe quel caractère alphanumérique, et .
signifie tout caractère sauf les ruptures de ligne.
Bien que la méthode match()
soit puissante, elle a certaines limites. Il ne peut être utilisé qu'avec des chaînes, pas avec d'autres types de données. De plus, il ne peut renvoyer qu'un tableau de résultat ou null
, pas une valeur booléenne. Si vous avez besoin de résultats booléens, vous devrez peut-être utiliser la méthode RegExp
de l'objet test()
à la place.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!