ALL Google Formulaire

Gform : les expressions régulières

Ecrit par Thierry

Les expressions régulières permettent d’identifier certains types de texte, par exemple des caractères, des nombres, des mots ou des modèles de caractères

Vous pensez tout connaitre des Gforms, c’est à dire les formulaires de Google Drive. Mais connaissez-vous les expressions régulières (les RegEx pour Regular Expressions) ?

t_Gform-10-expressions-régulières-.jpg

Lorsque vous attendez des dizaines, voire des centaines de réponses à vos formulaires Google, il est toujours préférable d’avoir de la validation de données avec une expression régulière contenant un schéma.

Expressions régulières : mais de quoi s’agit-il ?

Les expressions régulières permettent d’identifier certains types de texte, par exemple des caractères, des nombres, des mots ou des modèles de caractères. Ces expressions sont particulièrement utiles pour rechercher des correspondances avec un modèle, car ces recherches ne se limitent pas à un terme spécifique. Au contraire, elles renvoient des modèles correspondant à l’expression que vous avez indiquée.

Pour utiliser les expressions régulières dans le cadre de la validation des données pour les questions de type « Texte » et « Texte de paragraphe », sélectionnez l’option Expression régulière dans les paramètres de validation.

Termes utilisés dans les expressions régulières

Le tableau ci-dessous répertorie quelques exemples d’expressions que l’on peut utiliser dans Google Formulaires. Les utilisateurs peuvent cependant en utiliser beaucoup d’autres.

Expression Description Exemple Correspondance Aucune correspondance
. Un point signifie tout caractère se trouvant à la position indiquée. f. fer, ferme, fr, afin mer, ter
* Un astérisque placé derrière un caractère permet de rechercher le caractère qui le précède lorsqu’il est répété 0 fois ou plus. fe*r fer, fr, feeer fEr, forme
+ Le signe « + » placé derrière un caractère permet de rechercher ce caractère lorsqu’il apparaît une fois ou plus. fe+ fer, feeer fr, fEr, forme
? L’expression précédente est facultative. do?r fr, fer fEr, forme
^ L’accent circonflexe doit être placé au début de l’expression régulière pour indiquer que la chaîne commence par le ou les caractères ou la séquence qui le suivent. ^[fr]er fer, mer Le fer, la mer
$ Le signe « dollar » doit être placé à la fin de l’expression régulière pour indiquer que la chaîne se termine par le ou les caractères ou la séquence qui le précèdent. [fr]er$ fer, mer, chemin de fer fers, mer, ferroviaire
{A, B} L’expression précédente se répète entre A et B fois (A et B étant des nombres). f(e{1,2})r fer, feer fr, feeer, fEr
[x], [xa], [xa5] Ensemble de caractères indiquant qu’un seul du ou des caractères saisis doit se trouver à la position indiquée. En règle générale, tous les caractères placés entre crochets sont valides, y compris ceux indiqués précédemment dans une expression : [xa,$5Rr.] f[ie] fer, far fr, fEr, feeer
[a-z] Plage d’ensembles de caractères permettant de rechercher un caractère particulier de la plage indiquée. Exemples de plages courantes : a-z, A-Z et 0-9. Il est également possible de combiner plusieurs plages en une seule : [a-zA-Z0-9]. Vous pouvez aussi combiner des plages et des ensembles de caractères (indiqués précédemment) : [a-zA-Z,&*]. f[o-u]r for, fur, fpr, fr fr, fEr, far
[^a-fDEF] Un ensemble de caractères commençant par le signe ^ permet de rechercher un caractère qui ne se trouve pas dans l’ensemble indiqué. f[^aiu]r fer, fEr, for, f$r fr, far, fir, fur
S Tout caractère de type espace. f\sr f r, f[TAB]r fr, fer, fier

Support Google.

REMARQUE : Lorsque vous voulez rechercher un caractère ayant une signification particulière dans les expressions régulières, comme par exemple les signes ^ ou $, vous devez exclure ce caractère de votre requête en le faisant précéder d’une barre oblique inversée. Par exemple, pour rechercher le caractère $, vous devez saisir \$.

Mettons cela en pratique avec un exemple au niveau d’une date de naissance :

Admettons que votre formulaire attende une année de naissance. Au moment de la conception du questionnaire, développez la section « Validation des données » en dessous du champ de formulaire (voir capture d’écran ci-dessus) et choisissez Expression régulière de la liste déroulante. Ensuite, sélectionnez « correspond » à l’autre déroulante et  ^ entrez(19 \ d {2} | 20 [0-1] \ d) $ dans le champ de saisie. Le champ va maintenant accepter la valeur d’entrée comme en 1920, 2010, mais rejetterait les autres valeurs en dehors de la plage.

Une expression régulière peut paraître compliqué, mais elles ne sont pas si difficile à lire et à comprendre si vous connaissez le règles de base de la langue. Vous trouverez ci-dessous une compilation de quelques expressions régulières utiles qui peuvent être utilisées pour valider les champs communs de forme comme des URL, des numéros de téléphone, les codes postaux, les dates, etc.

1. Adresse postale – permettre que des caractères alphanumériques, des espaces et quelques autres caractères comme virgule,…

[a-z*(é|è|à|ù)A-Z\d\s\-\,\#\.\+]

2. Code postal – l’expression régulière permet les codes postaux dans des formats standard

([0-9]{5})$

3. Date – accepter une date d’entrée dans le format jj/mm/aaaa

((0[1-9])|(1[0-2]))[\/-]((0[1-9])|(1[0-9])|(2[0-9])|(3[0-1]))[\/-](\d{4})

4. Adresse e-mail – l’expression régulière ci-dessous doit correspondre à des formats d’adresses e-mail les plus courants, y compris les alias Gmail qui acceptent le signe « + »

[a-zA-Z0-9_\.\+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-\.]+

5. URL (domaine Web) – ce qui est utile pour les champs qui obligent l’utilisateur à entrer son adresse de site Web et il correspond même les noms de domaine à venir comme .directory ou .restaurant. Le second regex correspond aux URL YouTube y compris ceux qui utilisent le youtu.be domains.

https?\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,}
https?\:\/\/(www\.)?youtu(\.)?be(\.com)?\/.*(\?v=|\/v\/)?[a-zA-Z0-9_\-]+

6. Limite de Caractères – la boîte de texte par défaut dans un formulaire Google permet aux utilisateurs d’entrer un certain nombre de caractères, mais vous pouvez imposer une limite à l’aide d’expression régulière. Ici, nous limitons l’entrée à 50 caractères.

[a-z*(é|è|à|ù)A-Z\d\s\-\,\#\.\+]{1,50}

7. Numéros de téléphone – ce sont souvent une série de chiffres précédés par une option signe «+» et le code de zone peut être crochets à l’intérieurs-].?

\+?\(?\d{2,4}\)?[\d\s-]{3,}

8.Prix (avec décimal) – si un champ de formulaire, les utilisateurs doivent entrer un prix d’un article dans leur propre monnaie, ce regex aidera. Remplacez le signe € avec votre propre symbole monétaire.

\€?\d{1,3}(,?\d{3})*(\.\d{1,2})?

9. Mot de passe complexe – acceptera qu’une chaîne qui a 1 alphabet en majuscules, lettres minuscules 1, 2 chiffres et 1 caractère spécial. Aussi la longueur minimale autorisée est de 8 caractères.

(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9].*[0-9])(?=.*[^a-zA-Z0-9]).{8,}

10. CAPTCHA – Les formulaires Google ne proposent pas de CAPTCHAs mais vous pouvez en créer un en utilisant regex. Voici un captcha simple qui oblige les utilisateurs à répondre à une question simple, ce qui est 2 + 211 ?

^(4|[Ff][Oo][Uu][Rr])$

11. Limite de mots  Si vous souhaitez limiter le nombre de mots qu’un utilisateur peut taper dans le champ d’un formulaire Google, il existe une expression régulière pour cela aussi. Dans ce cas, toute entrée qui a entre 10 à 15 mots sera validée :

^[-\w]+(?:\W+[-\w]+){9,14}\W*$

Source.

Notez cette information
[Total: 0 Average: 0]

A propos de l'auteur

Thierry

Thierry VANOFFE, consultant, formateur, coach G Suite.
Passionné et fasciné par Google, ce blog me permet de partager cette passion et distiller tutos, trucs, astuces, guides sur les outils Google.
N’hésitez pas à me solliciter pour vos formations en ligne ou en présentiel.

8 commentaires

  • Bonsoir Thierry. Merci pour ces explications précises sur l’usage des expressions régulières. J’ai testé en direct le format date proposé ci-dessus, hyper pratique ! Une remarque cependant : vous indiquez que le format correspondant à l’expression est jj/mm/aaaa, alors que c’est le format mm/jj/aaaa (certes plus classique dans les pays anglo-saxons). N’hésitez pas à modifier votre page pour faire correspondre format et expression.
    Christophe

  • Bonjour Thierry,
    Je tente d’intégrer des RegEx sur le nouveau Google Form.
    Je souhaite que la réponse soit formulée en monétaire (90 000 € par ex.).
    J’ai intégré votre RegEx : Réponse courte > Expression régulière > Correspond à > schéma : \?\€d{1,3}(,?\d{3})*(\.\d{1,2})?
    Mais Google m’affiche un message d’erreur quand je clique sur REPONSES.
    Le message est :
    Impossible d’enregistrer les modifications. Veuillez copier toutes les modifications récentes, puis rétablir une version antérieure du document.

    Où est l’erreur svp ?

  • Bonjour,

    J’ai le souci suivant : lorsque l’on saisit dans le formulaire un no de téléphone commençant donc par un zéro ‘0’, par exemple 0123456789, celui-ci ne se déverse pas correctement dans le tableau. En effet, le zéro disparaît et la valeur apparaît comme étant 123456789.

    C’est le cas quelque soit le formatage de la colonne, que ce soit en automatique, texte, nombre ou format personnalisé 0000000000. Certes, en appliquant ce dernier formatage 0000000000, on retrouve en apparence les no de téléphone mais qu’en apparence et de plus, chaque nouvelle saisie annule le formatage précédent (y compris la taille de la police).

    Quelqu’un a-t-il une solution à ces deux problèmes ?
    1) suppression du zéro lors du déversement dans le tableau
    2) formatage tableau annulé à chaque saisie dans le formulaire

  • Bonsoir,

    J’ai conçu un formulaire pour mon équipe de caissière. Elles saisissent les montants reçus et les montants attendus en caisse. Je n’arrive pas à faire apparaître une colonne d’écart qui leur permettrait de constater les écarts et de les signifier aux commerciaux.
    Quelqu’un pourrait m’aider à corriger cela dans mon formulaire?

Laisser un commentaire

Share This

Share This

Share this post with your friends!