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 :

nombre décimal ou addition nombres décimaux [RegExp]


Sujet :

JavaScript

  1. #1
    Membre régulier Avatar de zozoman
    Homme Profil pro
    Futur ex-prof
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Futur ex-prof
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Points : 72
    Points
    72
    Par défaut nombre décimal ou addition nombres décimaux
    Bonjour à tous,

    je voudrais réaliser une expression régulière permettant de vérifier si mon champ est un nombre décimal à deux chiffres après la virgule au maximum ou si on a un addition ou soustraction de nombres décimaux :

    ex : 0, 1, 1.2, 1.25, 1.25+5, 1.25-1
    J'ai ma RegExp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     /^[0-9]{1}(\.[0-9]{1,2})?([+-]{1}[0-9]{1}(\.[0-9]{1,2})?)?$/
    Tout passe, même les lettres

    Pourriez vous m'aider

  2. #2
    Membre régulier Avatar de zozoman
    Homme Profil pro
    Futur ex-prof
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Futur ex-prof
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Points : 72
    Points
    72
    Par défaut
    J'ai testé mon expression sur un site et elle marche mais mon code ne m'alerte pas :

    Code RegExp : Sélectionner tout - Visualiser dans une fenêtre à part
    /^[0-9]{1}(\.[0-9]{1,2})?([+-]{1}[0-9]{1}(\.[0-9]{1,2})?)?$/

    Mon code JavaScript :

    Code JavaScript : 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
     
    function entrerDonneesMP(l,c)
    {
        var erreur=0;
        var ExprReg1=/\s/g; // Suppression des espaces
        var ExprReg2=/^[0-9]{1}(\.[0-9]{1,2})?([+-]{1}[0-9]{1}(\.[0-9]{1,2})?)?$/; 
        var valeurMP=new Array();
        valeurMP[l]=new Array();
        if(c<3)
        {
            valeurMP[l][1]=document.getElementById("valeurMP["+l+"][1]").value;
            valeurMP[l][2]=document.getElementById("valeurMP["+l+"][2]").value;
            if(valeurMP[l][c]!=='')
            {
                valeurMP[l][c]=valeurMP[l][c].replace(ExprReg1,"");
                document.getElementById("valeurMP["+l+"][c]").value=valeurMP[l][c];
                if(ExprReg2.test(valeurMP[l][c])===true)
                {
                   document.forms["bilanMP"].elements["valeurMP["+l+"]["+c+"]"].style.backgroundColor = "#FFFFFF";
     
                }
                else
                {
                    document.forms["bilanMP"].elements["valeurMP["+l+"]["+c+"]"].style.backgroundColor = "#FF0000";
                    erreur++;
                }
            }
        }
        return (true);
    }

    Je n'ai pas placé g à la fin de mon expression régulière : est ce conseillé ?

  3. #3
    Membre régulier Avatar de zozoman
    Homme Profil pro
    Futur ex-prof
    Inscrit en
    Décembre 2007
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Allier (Auvergne)

    Informations professionnelles :
    Activité : Futur ex-prof
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 119
    Points : 72
    Points
    72
    Par défaut
    Mon code Javascript contenait une erreur : [c] à la place de "["+c+"]"

    Mon code JS :

    Code JavaScript : 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
    function entrerDonneesMP(l,c)
    {
        //alert(l+" "+c);
        var erreur=0;
        var ExprReg1=/\s/g; // Suppression des espaces
        //var ExprReg2=/^[0-9]{1}(\\.[0-9]{1,2})?([+-]{1}[0-9]{1}(\\.[0-9]{1,2})?)?$/g;
        var valeurMP=new Array();
        valeurMP[l]=new Array();
        if(c<3)
        {
            valeurMP[l][1]=document.getElementById("valeurMP["+l+"][1]").value;
            valeurMP[l][2]=document.getElementById("valeurMP["+l+"][2]").value;
            //alert(valeurMP[l][1]+" "+valeurMP[l][2]);
            if(valeurMP[l][c]!=="")
            {
                valeurMP[l][c]=valeurMP[l][c].replace(/\s/g,"");
                document.getElementById("valeurMP["+l+"]["+c+"]").value=valeurMP[l][c];
                if(/^[0-9]{1}(\.[0-9]{1,2})?([+-]{1}[0-9]{1}(\.[0-9]{1,2})?)?$/g.test(valeurMP[l][c]))
                {
                   document.forms["bilanMP"].elements["valeurMP["+l+"]["+c+"]"].style.backgroundColor = "#FFFFFF";
     
                }
                else
                {
                    document.forms["bilanMP"].elements["valeurMP["+l+"]["+c+"]"].style.backgroundColor = "#FF0000";
                    erreur++;
                }
            }
        }
        return (true);
    }

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

Discussions similaires

  1. addition nombre entier et décimal
    Par fey dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 16/11/2010, 10h31
  2. Addition avec nombre décimal
    Par tarmo57 dans le forum Débuter
    Réponses: 5
    Dernier message: 25/02/2008, 19h03
  3. [VB.NET] Nombre décimal
    Par Sadneth dans le forum ASP.NET
    Réponses: 8
    Dernier message: 25/11/2005, 12h41
  4. insérer un nombre décimale dans une table
    Par mouloudéen dans le forum Access
    Réponses: 4
    Dernier message: 02/10/2005, 21h29
  5. CRITERIA - Représentation binaire d'un nombre décimal signé.
    Par RamDevTeam dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 10/08/2005, 14h56

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