Expressions régulières

Si vous choisissez l'option Regex dans le concepteur de formulaires, vous pouvez programmer la structure des données qui apparaissent.

Seul le type de capture Texte offre des capacités d'expression régulière complètes. Les autres types de capture offrent d'autres restrictions simples pour contrôler la saisie de données.

Le tableau ci-dessous illustre les caractères les plus courants qui peuvent être utilisés dans le champ Regex et vous donne quelques exemples de la correspondance effectuée.

Champ

Qu'est-ce qu'elle fait ?

Exemple

Correspondances

^

Correspond au début de la ligne

Cela marque le début de votre entrée d'expression régulière

 

$

Correspond à la fin de la ligne

Cela marque la fin de votre entrée d'expression régulière

 

.

Correspond à n'importe quel caractère

^a.c$

abc, a2c, axc

|

Caractère OU

^abc|xyz$

abc ou xyz

[…]

Correspond à tout ce qui est contenu dans les crochets

^[A-E]$

Peut uniquement utiliser les majuscules A à E

[^…]

Correspond à tout ce qui n'est pas contenu dans les crochets

^[^A-E]$

Impossible d'utiliser les majuscules A à E

{x}

Le nombre exact « x » de fois auquel correspondre

^[A-E]{2}$

Peut uniquement utiliser les majuscules A à E et doit contenir au moins 2 caractères

{x,y}

Correspondance entre « x » et « y » fois

^[A-E]{2,4}$

Peut uniquement utiliser les majuscules A à E et doit contenir au moins 2 caractères et pas plus de 4

{x,}

Correspond au nombre « x » de fois ou plus

^[A-E]{2,}$

Peut uniquement utiliser les majuscules A à E et doit contenir au moins 2 caractères mais aucune limite sur le nombre total

+

Correspond au caractère précédant + une ou plusieurs fois

^ab+c$

Correspond à abc, ou abbbc

?

Correspond au caractère précédant le ? zéro ou une fois.

^ab?c$

Correspond à ac, ou abc

!

Permute la correspondance d'un caractère à ne pas autoriser

^(?!000)[0-8][0-9]{2}$

Trois chiffres compris entre 001 et 899 sont autorisés, mais 000 en particulier n'est pas autorisé

Exemple : numéro d'assurance nationale

^[A-CEGHJ-PR-TW-Z]{1}[A-CEGHJ-NPR-TW-Z]{1}[0-9]{6}[A-D]{1}$

Voici une explication de cette regex

  • ^ le début de la chaîne de caractères
  • [A-CEGHJ-PR-TW-Z]{1} correspond à la première lettre, elle ne peut pas être D, F, I, Q, U ou V
  • [A-CEGHJ-NPR-TW-Z]{1} correspond à la deuxième lettre, elle ne peut pas être D, F, I, O, Q, U ou V
  • [0-9]{6} doit comporter six chiffres
  • [A-D]{1} correspond à la dernière lettre qui ne peut être que A, B, C ou D
  • $ : la fin de la chaîne de caractères

Voici à quoi ressemble un numéro d'assurance nationale valide.

Voici à quoi ressemble un numéro d'assurance nationale non valide.

Exemple de numéro de sécurité sociale

^(?!000|666)[0-8][0-9]{2}-(?!00)[0-9]{2}-(?!0000)[0-9]{4}$

Voici une explication de cette regex

  • ^: le début de la chaîne de caractères
  • (?!000|666) : ne permet pas d'entrer 000 ou 666
  • [0-8][0-9]{2} : correspond au premier chiffre compris entre 0 et 8, et aux deux chiffres suivants compris entre 00 et 99
  • - : l'utilisateur doit saisir un trait d'union comme séparateur
  • (?!00)[0-9]{2} : correspond à deux chiffres compris entre 01 et 99, empêchant spécifiquement la saisie de 00
  • - : l'utilisateur doit saisir un trait d'union comme séparateur
  • (?!0000)[0-9]{4} : correspond à quatre chiffres compris entre 0001 et 9999, empêchant spécifiquement la saisie de 0000
  • $ : la fin de la chaîne de caractères

Voici à quoi ressemble un numéro de sécurité sociale valide.

Voici à quoi ressemble un numéro de sécurité sociale non valide.