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.