Les expressions régulières sont des motifs qui permettent à un bot de valider le format d'une saisie utilisateur — par exemple, pour s'assurer que la saisie est un numéro de téléphone et non autre chose.

Pour effectuer une comparaison à l'aide d'une expression régulière, vous devez définir le type de correspondance sur "Correspondance RegEx".
Les expressions régulières doivent être écrites dans le déclencheur lui-même, et non dans les variables utilisées pour la correspondance !
Lors de la collecte de données, les utilisateurs saisissent souvent autre chose que ce qui leur est demandé. Voici un flux typique pour valider une saisie de numéro de téléphone. Si l'utilisateur ne saisit pas un numéro de téléphone valide, le bot l'invitera à réessayer.

Le bloc de saisie du numéro de téléphone a deux connexions sortantes : une sans déclencheur, et l'autre avec un déclencheur qui utilise une expression régulière pour correspondre à un numéro de téléphone.
^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$
Ce flux utilise deux connexions pour gérer la validation du numéro de téléphone :
-
Connexion principale (numéro valide)
- Déclencheur : Un numéro de téléphone correctement formaté.
- Action : Ajoute le numéro à la candidature et poursuit.
-
Connexion de secours (saisie invalide)
- Priorité : Inférieure à celle de la connexion principale.
- Déclencheur : Toute saisie qui n'est pas un numéro de téléphone valide.
- Action : Informe l'utilisateur de l'erreur et le redirige pour réessayer.
Cela garantit que l'utilisateur ne progresse qu'après avoir fourni des données valides, tout en recevant un retour immédiat sur les erreurs éventuelles.
Une liste d'expressions régulières utiles :
-
Saisie numérique uniquement des chiffres commençant par 1 :
^[1-9]+[0-9]*$ -
Saisie numérique uniquement des chiffres commençant par 0 :
^[0-9]+[0-9]*$ -
Numéro de carte de crédit :
[0-9]{13,16} -
Numéro de téléphone général :
^(\+)?((\d{2,3}) ?\d|\d)(([ -]?\d)|( ?(\d{2,3}) ?)){5,12}\d$ -
Lettres et chiffres (latin) :
^[a-zA-Z0-9]+$ -
Domaine (ex. abcd.com) :
^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$ -
URL (ex. abcd.com) :
(https?):((//)|(\\\\))+[\w\d:#@%/;$()~_?\+-=\\\.&]* -
IPv4 :
((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?) -
IPv6 :
((^|:)([0-9a-fA-F]{0,4})){1,8}$ -
Nom d'utilisateur (avec une limite de 2 à 20 caractères, pouvant être des lettres et des chiffres, le premier caractère doit être une lettre) :
^[a-zA-Z][a-zA-Z0-9-_\.]{1,20}$ -
Mot de passe (lettres latines minuscules et majuscules, chiffres) :
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s).*$ -
Mot de passe fort (majuscules, minuscules, chiffres/caractères spéciaux, min 8 caractères) :
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$ -
Date au format AAAA-MM-JJ :
[0-9]{4}-(0[1-9]|1[012])-(0[1-9]|1[0-9]|2[0-9]|3[01])
MISE À JOUR. Validation de date plus stricte :
(19|20)\d\d-((0[1-9]|1[012])-(0[1-9]|[12]\d)|(0[13-9]|1[012])-30|(0[13578]|1[02])-31) -
Date au format JJ/MM/AAAA :
(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d -
Date au format JJ.MM.AAAA :
(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)\d\d -
Nombres entiers et à virgule flottante (point comme séparateur décimal)
\-?\d+(\.\d{0,})? -
UUID :
^[0-9A-Fa-f]{8}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{4}\-[0-9A-Fa-f]{12}$ -
Latitude ou Longitude :
-?\d{1,3}\.\d+ -
MISE À JOUR. E-mail :
^[-\w.]+@([A-z0-9][-A-z0-9]+\.)+[A-z]{2,4}$ -
MISE À JOUR. URL
~^(?:(?:https?|ftp|telnet)://(?:[a-z0-9_-]{1,32}(?::[a-z0-9_-]{1,32})?@)?)?(?:(?:[a-z0-9-]{1,128}\.)+(?:ru|su|com|net|org|mil|edu|arpa|gov|biz|info|aero|inc|name|[a-z]{2})|(?!0)(?:(?!0[^.]|255)[0-9]{1,3}\.){3}(?!0|255)[0-9]{1,3})(?:/[a-z0-9.,_@%&?+=\~/-]*)?(?:#[^ '\"&]*)?$~i -
MISE À JOUR. Heure au format HH:MM:SS :
^([0-1]\d|2[0-3])(:[0-5]\d){2}$ -
MISE À JOUR. Adresse Mac :
([0-9a-fA-F]{2}([:-]|$)){6}$|([0-9a-fA-F]{4}([.]|$)){3}
Il existe un grand nombre d'expressions régulières disponibles. Si vous ne trouvez pas celle dont vous avez besoin dans cette liste, il est conseillé d'utiliser un moteur de recherche.
Vous pouvez tester facilement les expressions régulières sur des sites comme : https://regex101.com/