Maison > interface Web > js tutoriel > le corps du texte

Comment convertir des chaînes de saisie utilisateur en expressions régulières valides en JavaScript ?

Mary-Kate Olsen
Libérer: 2024-10-30 00:39:02
original
1007 Les gens l'ont consulté

How to Convert User Input Strings into Valid Regular Expressions in JavaScript?

Conversion d'une chaîne de saisie utilisateur en expression régulière

Lors de la conception d'un testeur d'expression régulière, obtenir la saisie de l'utilisateur et la transformer en une expression régulière valide peut être un défi. Si les utilisateurs ne sont pas obligés de placer leur entrée entre des délimiteurs //, ils ne pourront pas spécifier des indicateurs tels que g et i. Cependant, inclure // autour de l'expression crée un obstacle différent : convertir la chaîne en une expression régulière.

Solution utilisant le constructeur RegExp :

La solution réside dans l'utilisation le constructeur d'objet RegExp. En passant à la fois la chaîne d'expression régulière et les indicateurs souhaités, vous pouvez créer directement une expression régulière :

<code class="javascript">var re = new RegExp("a|b", "i");</code>
Copier après la connexion

C'est l'équivalent de la notation abrégée :

<code class="javascript">var re = /a|b/i;</code>
Copier après la connexion

Cette approche vous permet pour accepter l'entrée de l'utilisateur sous forme de chaîne, l'extraire dans une variable et l'utiliser pour construire l'expression régulière à l'aide des indicateurs appropriés. Vous n'avez pas besoin d'analyser la chaîne ou les indicateurs, et vous pouvez conserver la flexibilité du constructeur RegExp.

Exemple d'implémentation :

Dans votre code HTML, vous pouvez demander à l'utilisateur l'expression régulière (y compris les délimiteurs //) et la stocker dans une variable :

<code class="html"><input type="text" id="regex"></code>
Copier après la connexion

Dans votre code JavaScript, en cliquant sur un bouton :

<code class="javascript">var regexInput = document.getElementById('regex').value;

var re = new RegExp(regexInput);

// Use the re variable for your regular expression operations</code>
Copier après la connexion

Ce code acceptera l'entrée de l'utilisateur, y compris les délimiteurs //, et la convertira en une expression régulière en utilisant la syntaxe fournie.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal