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 :

Expression régulière chiffres et virgules


Sujet :

JavaScript

  1. #1
    Membre averti Avatar de johweb
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 342
    Points : 367
    Points
    367
    Par défaut Expression régulière chiffres et virgules
    Bonjour à tous.

    Pas fortiche en javascript, et encore moins en expressions régulières, j'aurai besoin d'une petite aide.
    J'ai un champs dans un formulaire dont la saisie est obligatoire. A l'intérieur, je voudrais que seuls les chiffres (0 à 9) et les virgules soient acceptés.
    Exemples :
    12345
    12345,5464
    5618,561651,7897987
    21,1,15651,12132121,156151

    C'est aussi simple que cela mais je n'y arrive pas... Une petite aide, svp ?
    Merci !

  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 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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var reg = new RegExp(/^([0-9])|([0-9]+,[0-9]+)$/);
    	if(!reg.test(lavaleur)){ alert("Erreur de sasie");}
    [edit]
    oups la saisie pouvait se terminer par une virgule ...

    voici qui règle le problème
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var reg = new RegExp(/^([0-9]+$)|(([0-9]{1,},){1,}[0-9]{1,}$)/);
    donc:
    ^([0-9]+$) un chiffre au moins et se termine pas un chiffre

    ou = > |

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    (([0-9]{1,},){1,}[0-9]+$)
    ou
    (([0-9]+,)+[0-9]+$)
    (un chiffre au moins suivi d'une virgule ) plusieurs fois suivit d'un chiffre au moins terminant la serie

  3. #3
    Membre averti Avatar de johweb
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 342
    Points : 367
    Points
    367
    Par défaut
    Bonjour spacefrog et merci pour la réponse rapide.
    J'ai vraiment du mal avec les expressions régulières... La preuve : je ne comprends pas toute ton explication...
    J'ai testé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var reg = new RegExp(/^([0-9]+$)|(([0-9]{1,},){1,}[0-9]{1,}$)/);
    et ça a l'air pas mal à une différence près : la virgule est rendue obligatoire.... donc ça ne colle pas...
    Il me faudrait donc :
    -au moins un chiffre de saisi
    -seuls les chiffres et les virgules sont autorisés
    -virgules non obligatoires mais il peut y en avoir plusieurs

    Merci !

  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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Ben non elle n'est pas obligatoire la virgule ...

    ça c'est au moins un chiffre ou plusieurs sans virgule

  5. #5
    Membre averti Avatar de johweb
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    342
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2003
    Messages : 342
    Points : 367
    Points
    367
    Par défaut
    Bon, je vais essayer de me dépatouiller avec ça.
    Merci !

  6. #6
    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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    te dépatouiller avec ça ???
    mais c'est déja 100% opérationnel ... as tu testé ???

    En situation ça donne ça ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <script type='text/javascript'>
    function tester(){
    var lavaleur=document.getElementById('one').value;
    var reg = new RegExp(/^([0-9]+$)|(([0-9]{1,},){1,}[0-9]{1,}$)/);
    if(!reg.test(lavaleur)){ alert("Erreur de sasie");}
    }
    </script>
    </head>
    <body>
    <input type='texte' id='one' />
    <input type='button' onclick='tester()' value='go' />
    </body>
    1
    11
    111
    1,
    11,
    11,11,,,,
    ,,111154
    32321,654654654,9879879,87987,987,987
    32321,654654654,9879879,87987,987,987

  7. #7
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Bonjour, ce code m'interesse beaucoup à un détail prés...
    Que dois je rajouter pour avoir obligatoirement des séries de 3 chiffres entre les ,

    Merci par avance

  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 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    A vue de nez sans avoir tésté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var reg = new RegExp(/^([0-9]{3}$)|(([0-9]{3},){1,}[0-9]{3}$)/);

  9. #9
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    yes je m'étais emmêlé les pinceaux merci !

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

Discussions similaires

  1. [RegEx] Expression régulière (chiffres et virgule)
    Par Atori dans le forum Langage
    Réponses: 10
    Dernier message: 03/08/2012, 16h56
  2. Expressions régulière : Quand la virgule s'en mêle
    Par Mokuhiken dans le forum Langage
    Réponses: 2
    Dernier message: 18/06/2012, 12h01
  3. java.util.regex Class Pattern: expression régulières chiffres romains
    Par bipbipman2003 dans le forum API standards et tierces
    Réponses: 10
    Dernier message: 10/06/2011, 15h24
  4. Réponses: 1
    Dernier message: 09/05/2010, 22h53
  5. [Expression Régulière] Suppression virgule
    Par Thewil dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 30/07/2009, 16h36

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