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 Regulière (RegExp) entier ET decimal


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 143
    Par défaut Expression Regulière (RegExp) entier ET decimal
    Bonjour,

    Je recherche une expression réguliere en JS qui me permette de tester une valeur qui soit un entier ou un décimal (avec "." ou ",").

    Quelqu'un aurait il ça sous la main par hasard?

    D'avance 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 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
    /^[0-9]+([.,][0-9]+)?$/
    valide
    1
    1.1
    111,11111
    1,111
    etc...

    ne valide pas
    1.
    1,
    1.1.1
    .0
    ,123
    1,11.11
    etc ...
    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 Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Il y a aussi éventuellement la solution consistant à comparer la chaine originale avec une chaine issue de la double conversion chaine > nombre > chaine.

    Je pense à quelque chose comme :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    function verif(chaine) {
        chaine = chaine.replace(/,/g, ".");
        return (parseFloat(chaine).toString() == chaine);
    }
    Enfin c'est une piste quoi ^^

    Quoi qu'il en soit, la regexp de SF semble nickel* (si on y ajoute un détail pour gérer les nombres négatifs )
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    /^(-)?[0-9]+([.,][0-9]+)?$/
    * heu... tiens au fait : ne doit-on pas échapper le ".", même quand il est contenu dans des "[]" ? ...me rappelait pas.

    Et une dernière petite correction quand même :
    Quelqu'un aurait il ça sous la main patte palmée par hasard?
    Sur le forum JS, notre boss de la regexp a des particularités anatomiques inattendues

  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
    Citation Envoyé par RomainVALERI Voir le message
    (si on y ajoute un détail pour gérer les nombres négatifs )
    En effet je ne vois pas le coté négatif des choses, trop optimiste que je suis

    autre pisteaprès le replace du séparateur décimal
    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 Expert
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    autre pisteaprès le replace du séparateur décimal
    Tiens je l'avais oubliée cette fonction ^^

    Du coup j'ai testé dans la console de Firebug et j'allais poster pour dire c'est la meilleure solution... mais ".2" passe le test...


    Autre chose en passant : si jamais tu as besoin d'accepter les notations scientifiques (genre 1.548715e54) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /^(-)?[0-9]+([.,][0-9]+(e(-)?[0-9]+)?)?$/

  6. #6
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    on y ajoute un détail pour gérer les nombres négatifs
    +1

    Bah tiens justement ! Puisqu'on y est, on peut prendre en compte : +1

Discussions similaires

  1. Réponses: 3
    Dernier message: 24/03/2012, 10h54
  2. [RegEx] aide pour une expression regulière
    Par hugo123 dans le forum Langage
    Réponses: 5
    Dernier message: 24/11/2005, 15h41
  3. ET dans une expression regulière
    Par kesako dans le forum Langage
    Réponses: 4
    Dernier message: 10/11/2005, 12h57
  4. Problème expression regulière ??
    Par panaone dans le forum Langage
    Réponses: 5
    Dernier message: 18/08/2005, 13h41
  5. Variables et Expression Regulière
    Par Temari dans le forum Langage
    Réponses: 5
    Dernier message: 05/08/2005, 01h55

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