Partage
  • Partager sur Facebook
  • Partager sur Twitter

Utilisation de regExp...

    11 décembre 2009 à 22:25:35

    Bonjour à tous,

    en faite j'ai un petit soucis pour vérifier un "numéro" de référence qu'un utilisateur doit rentrer dans un formulaire.

    Ce numéro doit correspondre au format suivant: ‘nnnANN’ où :
    - ‘nnn’ est un entier compris entre 0 et 999.
    - ‘A’ est une lettre majuscule de l’alphabet.
    - ‘NN’ est un entier compris entre 00 et 99 et toujours représenté sur 2 chiffres.

    L'utilisateur entrant autre chose que cela, ce voit envoyer un message d'erreur si la référence entré ne correspond pas au format 'nnnANN' souhaité.

    Je ne vois vraiment pas comment m'y prendre...

    Auriez vous une idée?

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      11 décembre 2009 à 22:39:37

      Parcourir la chaine, tous simplement, non ?!
      • Partager sur Facebook
      • Partager sur Twitter
        11 décembre 2009 à 22:48:50

        On m'a parlé des "regexs".

        J'ai donc essayé avec ça:


        var numAVerif = num;

        var regexNum = /^[0,999]{1,3}[a-zA-Z]{1}[00,99]{2}$/;

        if (regexNum.test(numAVerif)){
        alert("Votre numéro semble correct");
        else
        alert("Votre numéro est incorrect");


        Mais cela ne fonctionne pas...
        Quelqu'un aurait-il une idée?
        Merci d'avance pour vos lumières!

        • Partager sur Facebook
        • Partager sur Twitter
          11 décembre 2009 à 23:32:48

          Salut.



          >> Aslo, les regex voyons... >_<



          >> Koma777

          Dans ton cas ça sera :

          ^[0-9]{1,3}[A-Z][0-9]{2}$


          Regarde par ici pour mieux comprendre : http://www.siteduzero.com/tutoriel-3-8 [...] t-regexp.html
          • Partager sur Facebook
          • Partager sur Twitter
            12 décembre 2009 à 0:05:36

            Slt !

            Voici la manière dont je ferais. A toi d'adapter à ton problème ensuite.

            function verifNumero () {
                var _num = new RegExp("^[0-9]{1,3}[A-Z][0-9]{2}$");
            
                if(document.forms['id_formulaire'].nom_textBox.value.search(_num) == -1) {
                    alert("Votre numéro semble correct");
                }
                else {
                    alert("Votre numéro est incorrect");
                }
            }
            


            P.S : J'ai récupéré l'expression régulière de LCaba ^^
            • Partager sur Facebook
            • Partager sur Twitter
              12 décembre 2009 à 0:26:14

              'fin, les alert() c'est bien pour tester mais ce n'est pas à mettre dans le script final (en tous cas surtout pas pour dire "votre entrée semble correct" ^^ )
              • Partager sur Facebook
              • Partager sur Twitter
                12 décembre 2009 à 0:34:29

                Je ne comprends pas bien la ligne de test (4) :'(


                En faite il ne s'agit pas d'un formulaire à proprement parlé, mais d'un INPUT.
                Je voulais donc mettre l'id du INPUT à la place de ['nom_formulaire']

                Puis: .nom_textBox.value.search(_verif) ?

                Autrement, je dois bien Alerter l'utilisateur en cas d'erreur. C'est donc tout à fait le genre de chose que je cherches à faire.

                • Partager sur Facebook
                • Partager sur Twitter
                  12 décembre 2009 à 0:43:31

                  Heu Wapiti très compliqué ^^

                  function verifNumero () {
                      
                      var regex = /^[0-9]{1,3}[A-Z][0-9]{2}$/ ;
                      
                      if (!regex.test(numAVerif)) {
                          alert('Numero incorrect !!') ;
                      }
                  }
                  
                  • Partager sur Facebook
                  • Partager sur Twitter
                    12 décembre 2009 à 12:00:40

                    Effectivement, c'est un peu plus simple xD

                    Sinon pour expliquer la ligne que tu ne comprends pas :

                    Je pensais que tu avais quelque chose du genre dans ton code :

                    <div>
                        <form method="post" action="ta_page.php" id="form_reference" onsubmit="return verifNumero ()">
                            <input type="text" name="numReference" />
                            <input type="submit" value="Vérifier numéro" name="valider" />
                        </form>
                    </div>
                    


                    Ainsi, la fonction javascript correspondant serait (avec ma méthode et non celle de Lcaba) :
                    function verifNumero () {
                        var _num = new RegExp("^[0-9]{1,3}[A-Z][0-9]{2}$");
                    
                        if(document.forms['form_reference'].numReference.value.search(_num) == -1) {
                            alert("Votre numéro semble correct");
                            return true;
                        }
                        else {
                            alert("Votre numéro est incorrect");
                            document.forms['form_reference'].numReference.focus(); //permet de redonner automatiquement le focus à ton input de type "text" (ce que j'ai appelé textBox dans mon précédent message)        
                            return false;
                        }
                    }
                    
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Utilisation de regExp...

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown