Utilisation d'expressions régulières

Les expressions régulières (regex) peuvent être utilisées pour contrôler les données saisies dans les formulaires Interact par vos utilisateurs.

Lorsque vous créez un formulaire Interact, vous devez souvent contrôler les champs de données pour limiter ce que vos utilisateurs peuvent saisir, par exemple un numéro d'assurance nationale ou de sécurité sociale. Limiter la saisie des données permet de guider vos utilisateurs pour qu'ils mettent les informations requises au bon format.

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.

Exemple : numéro de téléphone mobile britannique

^07([\d]{3})[(\D\s)]?[\d]{3}[(\D\s)]?[\d]{3}$

Voici une explication de cette expression régulière.

  • ^: le début de la chaîne de caractères
  • 07 : doit commencer par ces deux caractères
  • ([\d]{3}) : doit comporter trois chiffres
  • [(\D\s)]? : un espace facultatif
  • ([\d]{3}) : doit comporter trois chiffres
  • [(\D\s)]? : un espace facultatif
  • ([\d]{3}) : doit comporter trois chiffres
  • $ : la fin de la chaîne de caractères

Voici à quoi ressemble un numéro de téléphone mobile britannique valide.

ou

Voici à quoi ressemble un numéro de téléphone mobile britannique non valide.