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 :

Création expression régulière


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de frog43
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut Création expression régulière
    Bonjour,

    voilà je souhaite vérifier le contenu d'un champ de formulaire, il faut qu'il soit rempli par :
    1/ par 1,2 ou 3 chiffres
    Ou par :
    2/ 1 chiffre, 1 point et un chiffre (dans cette ordre)

    J'ai essayé de construire une expression mais je me suis planté quelque part (c'est la première que je fais)

    Voici ce que sa donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    var reg=new RegExp("^[0-9]|[0-9]\.[0-9]$");
    var chaine=document.form1.NewPrix.value;
    if (!reg.test(chaine)){
         message+="le prix Basse saison doit être de la forme XX ou X.X !");
         res=false;
    }
    Je suppose que sa vient de là car quand je met ces lignes en commentaires, le reste de ma fonction marche nickel, tandis que sinon elle ne marche plus ...

    Donc si quelqu'un pouvait m'éclaircir au niveau de cette expression ...

  2. #2
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var reg=new RegExp("^[0-9]{1,3}$|^[0-9].[0-9]$");
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éclairé Avatar de frog43
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut
    Bonjour,
    merci de ta réponse, j'ai changé ma ligne mais le résultat est toujours le même ...

    Je te montre tout le code si sa peut t'aider ...

    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
     
    <script language="JavaScript">
    function textevide() {
    	var res=true;
    	var message="";
    	var reg=new RegExp("^[0-9]{1,3}$|^[0-9].[0-9]$");
    	var chaine=document.form1.NewPrix.value;
     
    	if ( document.form1.NewPrix.value == '' ) {
    		res = false;
    		message+="Le champ Basse saison n\'est pas rempli !!\n";
    	}
    	if ( document.form1.NewPrixHS.value == '' ) {
    		res = false;
    		message+="Le champ Haute saison n\'est pas rempli !!";
    	}
    	if (!reg.test(chaine)){
    		message+="le prix Basse saison doit être de la forme XX ou X.X !");
    		res=false;
    	}
    	if (res==false) {
    		alert(message);
    	}
    	return res;
    }
    </script>
    et l'appel de ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    <form method="post" name="form1" action="phpform.php" onsubmit="return textevide();">
    .
    .
    .
    .
    .
    </form>
    Voilà, donc ce qui se passe c'est que le formulaire est envoyé à la page phpform.php même si les conditions ne sont pas remplies ... Si je met le test de l'expression régulière, tout remarche ...

  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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    tu as juste une ) en trop

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    message+="le prix Basse saison doit être de la forme XX ou X.X !");
    ceci fonctionne :
    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
    <script type="text/javascript">
    function foo(){
    var message="ok"
    chaine=document.getElementById('testt').value;
    var reg=new RegExp("^[0-9]{1,3}$|^[0-9].[0-9]$");
    var res=true;
    var message="";
    if (!reg.test(chaine)){
    		message="le prix Basse saison doit être de la forme XX ou X.X !";
    		res=false;
    	}
    if (res==false) {
    		alert(message);
    		}
    	alert(res)
    	return res;
    }
    </script>
     
     
     
    </script>
     
     
     
    </head>
     
    <body>
    <input type='text' value="" id='testt'/>
    <input type='button' onclick="foo()" value="" />
     
    </body>
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre éclairé Avatar de frog43
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut
    Merci !
    Tu es mon sauveur !
    Je me sens bête d'avoir loupé cette petite parenthèse mais bon ...
    Je te paierais bien un coup pour te remercier ! lol
    Tu me sort une belle épine du pied !

    Merci encore et bonne continuation !

  6. #6
    Membre éclairé Avatar de frog43
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    342
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 342
    Par défaut
    Euh ...
    Je me suis aperçu d'une petite chose, pour bien faire il faudrait que le champs soit de la forme :
    1/ 1à3 chiffres
    2/ ou bien de 1à3 chiffres, un point, 1à2 chiffres (dans cette ordre)

    Je n'arrive pas à faire l'expression régulière, si quelqu'un peut m'aider ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 11
    Dernier message: 21/01/2010, 18h35
  2. [PEAR][HTML_QuickForm] Création de filtre avec expression régulière
    Par audran12 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 26/06/2007, 11h31
  3. Problème de création d'expression régulière
    Par Ithomir dans le forum Langage
    Réponses: 6
    Dernier message: 07/09/2006, 15h55

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