IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Verification de format (formulaire)


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut Verification de format (formulaire)
    Bonjour,

    Je suis pas tres bon en js !
    Jessaie dadapter une formule pour verifier un format.
    Voila mon script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    function Verification()
    {
    erreur = "";
    var regExpFrenchDate=/^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$/g;
    var regExpCampagne=/^(0[1-9]|1[012])[- /.](19|20)\d\d/g;
    with (document.Fiche)
    {
    	if( (CAMPAGNE.value == "00-0000") || (CAMPAGNE.value == "") )
    	{
    	erreur = erreur + "Campagne non renseignée\n"
    	}
    	if( (CAMPAGNE.value != regExpCampagne) )
    	{
    	erreur = erreur + "Campagne format\n"
    	}
    	if(REF.value == "")
    	{
    	erreur = erreur + "Code article non renseigné\n"
    	}
    	if(acheteur.value == "aucun")
    	{
    	erreur = erreur + "Acheteur non sélectionné\n"
    	}
    	if(Categorie.value == "aucun")
    	{
    	erreur = erreur + "Catégorie non sélectionnée\n"
    	}
    	if(SSCategorie.value == "aucun")
    	{
    	erreur = erreur + "Sous catégorie non sélectionnée\n"
    	}
    	if(DOUANE.value == "")
    	{
    	erreur = erreur + "Nomenclature douanière non renseigné\n"
    	}
    }
    if (erreur!="")
    alert(erreur);
    else
    Fiche.submit()
    }
    En fait je bute sur la variable regExpCampagne qui devrait correspondre a lexpression 00-0000.

    ?

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 31
    Points : 29
    Points
    29
    Par défaut
    En lisant rapidement j'ai l'impression que tu tests :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    00-0000 != "/^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$/g";
    A priori c'est faut.

    Je crois que c'est plutot le format que l'on test
    pour les mail par exemple j'utilise plutôt search

    j'essairais donc un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    valeurCampagne = CAMPAGNE.value;
    if (valeurCampagne.search(regExpCampagne) != -1) 
    		return true;
    	else 
    		return false;
    Cela dit, je ne manipule pas bien les expressions regulieres

  3. #3
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CAMPAGNE.value != regExpCampagne)
    Je ne suis pas un grand connaisseur de Javascript mais ce genre de comparaison me gène. La tu testes simplement la non égalité de 2 chaines de caractères. A aucun moment tu n'indique que regExpCampagne est une expression régulière. L'interpreteur de script n'est pas encore assez intelligent pour deviner ce que tu souhaites faire.

    Il existe probablement des fonctions du type regexp(CAMPAGNE.value,regExpCampagne) qui indique explicitement que tu cherches à faire une comparaison par rapport à un motif.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    fais un tour sur les tutos de regExp ...
    la comparaison du format d'un chaine avec un pattern se fait plutot avec un test ou match ...

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut
    Meric pour vos réponse.
    Javoue que je nai pas tout compris a quest ce que vous disez !
    je vais regarder le tuto et je vous tiens au courant

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut
    Jai lu le tuto sur regexp ...
    Ca a lair fortiche quand meme !
    Si quelquun peut me venir en aide ... je voudrais juste tester un format dun champs de formulaire.
    Je voudrais etre sur que le champs CAMPAGNE soit au format 00-0000
    Est-ce que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /(0[1-9]|1[012])[- /.](19|20)\d\d/g;
    est correct ? Est-ce que ca correspond a 00-0000 ?

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut
    Jai change mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var regExpCampagne= new RegExp(/(0[1-9]|1[012])[- /.](19|20)\d\d/g);
    et :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if( (CAMPAGNE.value != regExpCampagne) )
    	{
    	erreur = erreur + "Campagne format\n"
    	}

  8. #8
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    ^[0-9]{2}+\-+[0-9]{4}+$ :

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut
    Jai donc change en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var regExpCampagne= new RegExp(^[0-9]{2}+\-+[0-9]{4}+$);
    Mais ca a lair detre pire parce que je nai meme pas de popup !

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut
    En fait quand je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var regExpCampagne= new RegExp(/(0[1-9]|1[012])[- /.](19|20)\d\d/g);
    jai mon popup derreur "Campagne format" alors que jai par defaut 00-0000 dans mon champs CAMPAGNE (en plus des autres message derreurs des autres champs obligatoires).
    Et si je mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var regExpCampagne= new RegExp(^[0-9]{2}+\-+[0-9]{4}+$);
    je nai pas de popup du tout.

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    desolé je connais pas bien les reg exp ... mais c'est juste une question de pattern ...
    JavaTwister est un crack sur le sujet ...

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut
    ou alors il existe peut etre un autre moyen que les exp reg pour tester un format de champs ?

  13. #13
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par dafalri
    if( (CAMPAGNE.value != regExpCampagne) )
    Auh, je pense que même sans JT, je peux dire qu'il y aun bug là....

    Plutot:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (!regExpCampagne.test(CAMPAGNE.value)) ...

  14. #14
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 665
    Points
    66 665
    Billets dans le blog
    1
    Par défaut
    oui Denis pour le test mais pour le pattern ?

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut
    cest ce que jallais dire je crois que cest mon modele qui fait defaut ...

  16. #16
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par dafalri
    /(0[1-9]|1[012])[- /.](19|20)\d\d/g;
    Il était pas mal, celui-là, non?

    Il suffit d'y faire quelques modifs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var regExpPattern = /((0[1-9])|(1[0-2]))-(19|20)\d{2}/;
    Attention au bug de l'an 2100

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut
    Mais ya pas besoin de dire que cest une RegExp alors ?

  18. #18
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 182
    Points : 64
    Points
    64
    Par défaut

    Ca marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var regExpPattern = /((0[1-9])|(1[0-2]))-(19|20)\d{2}/;
    if (!regExpPattern.test(CAMPAGNE.value)) 
    {
    erreur = erreur + "Campagne format\n"
    }
    et dans le html jai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="CAMPAGNE" type="text" id="CAMPAGNE" value="00-0000" size="5" maxlength="7" onFocus="this.value=''" />

  19. #19
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par dafalri
    Mais ya pas besoin de dire que cest une RegExp alors ?
    Le fait de mettre la chaine entre / / reviens à faire un new RegExp.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /blabla/ = new RegExp("blabla")

  20. #20
    Expert éminent

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par dafalri

    Ca marche pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var regExpPattern = /((0[1-9])|(1[0-2]))-(19|20)\d{2}/;
    if (!regExpPattern.test(CAMPAGNE.value)) 
    {
    erreur = erreur + "Campagne format\n"
    }
    et dans le html jai
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="CAMPAGNE" type="text" id="CAMPAGNE" value="00-0000" size="5" maxlength="7" onFocus="this.value=''" />
    un petit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('CAMPAGNE')
    Pour acceder à un élement par son id, avant de chercher à voir sa value.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/07/2007, 16h52
  2. code verification d un formulaire
    Par jojojojo57 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/04/2007, 19h20
  3. script de verif d'un formulaire
    Par Tr@nkill dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/05/2006, 12h44
  4. Validation, verification d'un formulaire
    Par ffraggy dans le forum ASP
    Réponses: 4
    Dernier message: 09/02/2006, 15h04
  5. Problème pour la verification d'un formulaire
    Par Matahachi dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 03/11/2004, 21h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo