DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions de gestion des chaînes
  • Assistant de la fonction RegexVérifie
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
Vérifie si une chaîne respecte un format défini par une expression régulière. Les différentes sous-chaînes constituant le format peuvent être récupérées.
La grammaire utilisée pour les expressions régulières est le ECMAScript.
Nouveauté 2025
Android Cette fonction est désormais disponible pour les applications Android.
Widget Android Cette fonction est désormais disponible en mode Widget Android.
Exemple
TXT_Résultat est une chaîne
// On définit la chaîne à tester et le format qu'elle devrait respecter
sChaîne est une chaîne = "28/03/2003"
sFormatDate est une chaîne = "([0-9]+)/([0-9]+)/([0-9]+)"
// Variables pour récupérer les différentes parties du format
sJour est une chaîne
sMois est une chaîne
sAnnée est une chaîne
// Si la chaîne vérifie le format alors on affiche ses différentes parties
SI RegexVérifie(sChaîne, sFormatDate, sJour, sMois, sAnnée) ALORS
 	TXT_Résultat = "Jours : " + sJour
 	TXT_Résultat += RC + "Mois: " + sMois
 	TXT_Résultat += RC + "Année : " + sAnnée
 FIN
// Vérification sans tenir compte de la casse
SI RegexVérifie(SAI_IMMAT, "(?i)[A-Z]{2}[-][0-9]{3}[-][A-Z]{2}") ALORS
...
FIN
MonEmail est une chaîne = "monemail@provider.com"
// Email : vérification de la validité d'un email
SI RegexVérifie(MonEmail, "(?i)[^\.][a-zA-Z0-9._%&#{}+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z.-]{2,}$") ALORS
	Trace("L'email est syntaxiquement correct.")
FIN
// Mot de passe : vérification de la complexité d'un mot de passe
SI RegexVérifie("MotDePasse$1", "^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[^\w\s]).{8,}$") ALORS
	Trace("Le mot de passe est fort.")
	// La chaîne contient : 
	// * Au moins 8 caractères, au moins 1 chiffre
	// * Au moins 1 majuscule, au moins 1 minuscule
	// * Au moins 1 caractère spécial
FIN
// Nombre : vérification permettant de savoir si la chaîne contient un nombre
SI RegexVérifie("1.618033", "[-+]?[0-9]*\.?[0-9]*") ALORS
	Trace("La chaîne est un nombre entier ou décimal.")
FIN
// Vérification d'une adresse IP
SI RegexVérifie("192.168.100.1", "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$") ALORS
	Trace("La chaîne est une adresse IP.")
FIN
Syntaxe

Vérifier un format et récupérer les éléments correspondant au format Masquer les détails

<Résultat> = RegexVérifie(<Elément à vérifier> , <Format> [, <Variable 1> [... [, <Variable N>]]])
<Résultat> : Booléen
  • Vrai si la chaîne vérifie le format indiqué,
  • Faux si la chaîne ne vérifie pas le format.
<Elément à vérifier> : Chaîne de caractères
Chaîne de caractères à vérifier.
<Format> : Chaîne de caractères
Format de référence. La grammaire utilisée pour les expressions régulières est le ECMAScript.
Remarque : Il est possible d'utiliser la chaîne "(?i)" en début d'expression pour indiquer que la vérification doit être insensible à la casse.
<Variable 1> : Chaîne de caractères, Entier, ...
Variable qui sera automatiquement initialisée avec la valeur correspondant à la première partie du <Format>. Chaque partie est définie par les caractères '(' et ')'.
<Variable N> : Chaîne de caractères, Entier, ...
Variable qui sera automatiquement initialisée avec la valeur correspondant à la Nième partie du <Format>. Chaque partie est définie par les caractères '(' et ')'.

Vérifier un format et récupérer les éléments correspondant au format dans un tableau Masquer les détails

<Résultat> = RegexVérifie(<Elément à vérifier> , <Format> , <Tableau de chaînes>)
<Résultat> : Booléen
  • Vrai si la chaîne vérifie le format indiqué,
  • Faux si la chaîne ne vérifie pas le format.
<Elément à vérifier> : Chaîne de caractères
Chaîne de caractères à vérifier.
<Format> : Chaîne de caractères
Format de référence. La grammaire utilisée pour les expressions régulières est le ECMAScript.
Remarque : Il est possible d'utiliser la chaîne "(?i)" en début d'expression pour indiquer que la vérification doit être insensible à la casse.
<Tableau de chaînes> : Tableau
Nom du tableau à remplir. Les différents éléments du tableau seront automatiquement initialisés avec les valeurs correspondant aux différentes parties du <Format>.
Remarques
Nouveauté SaaS

Assistant de la fonction RegexVérifie

La fonction RegexVérifie propose sous l'éditeur de code l'utilisation d'un assistant de fonctionnalité. Cet assistant permet :
  • d'utiliser une expression régulière pré-définie. Une liste des expressions régulières pré-définies est proposée.
  • de visualiser l'expression régulière sous forme de schéma ou d'enchaînement de conditions dans une table.
  • de créer une expression régulière. Il suffit de :
    • Sélectionner l'expression prédéfinie "Personnalisée".
    • Cliquer sur le bouton Paramètres.
    • Ajouter les différentes conditions via le bouton "+". L'expression régulière se construit dans le champ "Expression régulière générée".
      Assistant de la fonction
    • Saisir l'expression à tester.
    • Le bouton Enregistrer permet d'enregistrer l'expression régulière. Elle sera proposée dans la liste des expressions régulières prédéfinies, préfixée par "Perso".
Attention : Cette nouveauté est disponible uniquement à partir de WINDEV Suite SaaS 2025 Update 1. Pour plus de détails, consultez Utiliser les nouveautés de WINDEV Suite SaaS 2025.
Liste des exemples associés :
Les expressions régulières Exemples unitaires (WINDEV) : Les expressions régulières
[ + ] Utilisation des expressions régulières avec WINDEV.
Deux types d'utilisation des expressions régulières sont présentés :
- vérification du format d'une saisie
- extraction des différents éléments respectant le format d'une saisie.
Cet exemple montre également comment rechercher un mot dans une chaîne, avec possiblité de ne pas prendre en compte la casse, le début ou la fin d'une chaîne, mais également de ne pas tenir compte des espaces (n'importe où dans la chaîne, y compris dans le mot recherché)
Les expressions régulières Exemples unitaires (WINDEV Mobile) : Les expressions régulières
[ + ] Utilisation des expressions régulières avec WINDEV Mobile.
Il montre 2 types d'utilisation des expressions régulières :
- vérifier le format d'une saisie
- extraire les différents éléments respectant le format d'une saisie.
Cet exemple montre également comment rechercher un mot dans une chaîne, avec possiblité de ne pas prendre en compte la casse, le début ou la fin d'une chaîne, mais également de ne pas tenir compte des espaces (n'importe où dans la chaîne, y compris dans le mot recherché)
Masque de saisie avancé Exemples unitaires (WINDEV) : Masque de saisie avancé
[ + ] Manipulation des masques de saisie dans WINDEV :
- Définition du format des positifs/négatifs dans un champ de saisie numérique
- Définition de l'apparence des négatifs dans un champ de saisie numérique
- Définition de l'apparence de la valeur 0 dans un champ de saisie numérique
- Utilisation d'une expression régulière pour empêcher la saisie d'autres caractères que les chiffres 1, 2, 3, 4, 5 et 6.
- Utilisation d'une expression régulière pour "réguler" la saisie d'un numéro de plaque d'immatriculation français
Classification Métier / UI : Code neutre
Composante : wd300std.dll
Version minimum requise
  • Version 26
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 17/02/2025

Signaler une erreur ou faire une suggestion | Aide en ligne locale