Donnez vie à vos documents numériques !
 

Syntaxe obscure d’un excellent script de validation de saisie

abracadabraPDF Forums PDF – Général Syntaxe obscure d’un excellent script de validation de saisie

  • Ce sujet est vide.
  • Créateur
    Sujet
  • #44765
    zolo72
    Membre

    Ce script de validation de saisie donné par Merlin fonctionne admirablement (ici on vérifie une adresse mail) :

    var alert1 = (“La saisie n’est pas conforme à la syntaxe requise pour une adresse email.rMerci de recommencer.”);
      // teste si syntaxe valide
    var email = /^[a-zA-Z0-9._-]+@([a-zA-Z0-9.-]+.)+[a-zA-Z0-9.-]{2,4}$/;
    if(!email.test(event.value)) // si syntaxe non valide
    {
        event.rc = false; // alors false pour invalider la saisie
        app.alert(alert1); // et envoi de l alerte
    }
    Mais quelle est l’explication du détail de la syntaxe, les entre crochets OK, mais quid du “.” et de “{2,4}$” ?
    Comment contrôler la saisie des départements (un masque arbitraire “9O” permet “2A” et “2B” mais aussi “0Z” !)

Affichage de 3 réponses de 1 à 3 (sur un total de 3)
  • Auteur
    Réponses
  • #56543
    Merlin
    Maître des clés

    Bonjour,

    La “syntaxe obscure” c’est du GREP, qui permet de rechercher des “Motifs” ou “Expressions régulières” (patterns), c’est-à-dire des chaines de caractères présentant une structure identique.
    Ce n’est pas propre à JavaScript, le GREP est couramment utilisé en programmation et aussi… pour la mise en page dans InDesign.

    [a-zA-Z0-9._-] = on recherche tous les caractères entre a et z, entre A et Z, entre 0 et 9, plus le point, plus le tiret-bas, plus le tiret-haut.

    . = on recherche le point (en GREP . tout court représente “n’importe quel caractère”, pour ne rechercher que le point il faut “l’échapper” en le précédant d’un anti-slash.

    {2,4} = le caractère recherché peut être présent entre 2 et 4 fois (à noter que cette formule est désormais obsolète : si 2 reste un minimum, les suffixes de noms de domaine peuvent désormais être plus long que 4 lettres).

    $/ = fin de mot.

    Le “Masque arbitraire” c’est en fait du GREP masqué et prémâché.

    A propos de GREP et Acrobat, voir aussi : http://abracadabrapdf.net/ressources-et-tutos/edition-modification/grep-et-acrobat/
    On a d’ailleurs sur cette page une bien meilleure requête pour capter les adresses emails :

    S+@S+.S+

    :Smiley15:

    #56544
    zolo72
    Membre

    Merci Merlin,

    Combien de trésors comme celui-ci sont encore invisibles aux yeux des Béotiens comme moi.

    Entre tout ce qui est “supposé su” et tout ce qui est caché subtilement comme au temps des corporations…

    Heureusement que de modernes d’Alembert entretiennent l’esprit de l’Encyclopédie.

    Bien reconnaissant.

    #56545
    Merlin
    Maître des clés

    Le GREP n’a rien de “caché”, c’est juste un peu “prise de tête”, surtout au début…
    :geek:

Affichage de 3 réponses de 1 à 3 (sur un total de 3)
  • Vous devez être connecté pour répondre à ce sujet.