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 :

[JS] contrôle sur la saisie d'un champ avec des valeurs numeriques ?


Sujet :

JavaScript

  1. #1
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut [JS] contrôle sur la saisie d'un champ avec des valeurs numeriques ?
    bonjour ,
    je veux faire un contrôle sur la siasie d'un champ, en entrant seulement des valeures numerique, j'ai crée cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function numeric(champ){ 
                  var test= champ.value.search("[^0-9]"); 
                  if(champ.value.length > 0 &&  test>= 0) 
                  {             
                    return true; 
                  }         
    }
    ca marche bien, mais je vais qu'il accepte aussi ce type de saisie : (10.5 et 10,5)

    Merci d'avance pour votre réponse !
    On est là pour partager notre savoir-faire !

  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 637
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    rajoute le point et la virgule dans la regExp ...
    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
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /^[0-9](,|.)[0-9]{1,2}$/

  4. #4
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    oui mais je pense qu'il y a une erreure dans la syntaxe :

    champ.value.search("^[0-9](,|.)");

    ca marche pas !!!
    On est là pour partager notre savoir-faire !

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Ben écoute, chez moi ça ça marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function numeric(champ){
       var test= champ.value.search("(^[0-9]{1,}$)|(^[0-9]{1,}(.|,)[0-9]{1,2}$)");
       if(test >= 0)
          alert('ok');
       else
          alert('pas ok');
    }
    La syntaxe ^[0-9](.|,) n'autorisait qu'un chiffre avant la virgule ...

  6. #6
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    bah je pense que j'ai pas bien expliqué mon besoin !
    en faite, je veux que mon champ de saisie accepte seulement les valeurs numeriques evec le point et la vérgule aprés au moin un numéro !

    les cas possible c'est :
    10
    1.5
    1,5
    10.10
    10,10

    les cas qu'il faut que je l'interdit à saisir :
    a
    a.5
    a,5
    .5
    ,5
    .5.5. ...
    ,5,5 ...
    10.10.5
    10,10,5

    c'est plutôt ca, la saise des valeures numeric qui ont au plus un point ou une vérgule ! bah je pense qu'il y a beucoup de traitement à faire !

    et ton code que tu ma montré au dessus, ca marche pas pour moi il accepte les alphanumériques !

    Merci dans tous les cas !
    Je suis à l'attente !
    On est là pour partager notre savoir-faire !

  7. #7
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Citation Envoyé par adil_vpb
    et ton code que tu ma montré au dessus, ca marche pas pour moi il accepte les alphanumériques !
    Impossible ... A aucun endroit dans la RegExp je lui dis de prendre [a-zA-Z].

    Avec mon code tu ne peux saisir que des nombres sans virgule, ou un nombre avec une virgule (ou un point) suivie d'une à deux décimales.

    Testé et approuvé.

  8. #8
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    oui d'accord,
    le probléme c'est dans le retour de ma fonction numeric, mantenant c'est bien !

    juste derniere question, je veux que cette fonction accepte seulement le point et non la vergule ! Où je peux modifier ca?

    Merci
    On est là pour partager notre savoir-faire !

  9. #9
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258

  10. #10
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    je pense qu'il y a une erreure !
    est ce que ce syntaxe est correcte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .search("(^[0-9]{1,}$)|(^[0-9]{1,}.[0-9]{1,2}$)");
    car la fonction accepte comme même la vergule ! et moi je veux seulement qu'elle accepte le point !
    On est là pour partager notre savoir-faire !

  11. #11
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Ca devrait marcher, donc n'oublie pas de rafraichir ta page avant de la tester à nouveau ...

  12. #12
    Expert confirmé
    Avatar de javatwister
    Homme Profil pro
    danseur
    Inscrit en
    Août 2003
    Messages
    3 681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : danseur

    Informations forums :
    Inscription : Août 2003
    Messages : 3 681
    Points : 5 221
    Points
    5 221
    Par défaut
    juste derniere question, je veux que cette fonction accepte seulement le point et non la vergule ! Où je peux modifier ca
    donc, tu remplaces ton code douteux par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(isNaN(champ)){
    alert("raté")
    }

  13. #13
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    toujours ca marche pas !
    .search("(^[0-9]{1,}$)|(^[0-9]{1,}.[0-9]{1,2}$)");

    il accepte comme même la vergule !!!
    j'ai rafraiché la page N fois ! !!
    On est là pour partager notre savoir-faire !

  14. #14
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    bonjour,
    est ce que ce code interdit vraiment la saisie de vergule :
    .search("(^[0-9]{1,}$)|(^[0-9]{1,}.[0-9]{1,2}$)");

    je sais pas ! ca marche pas !
    On est là pour partager notre savoir-faire !

  15. #15
    Membre habitué Avatar de adil_vpb
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2006
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 326
    Points : 132
    Points
    132
    Par défaut
    svp !
    j'ai besoin de votre aide !!!
    cette fonction accepte les (/,*,-,+)

    function test(champ){
    var exist= champ.value.search("(^[0-9]{1,}$)|(^[0-9]{1,}(.|,)[0-9]{1,2}$)");
    if(champ.value.length >= 0 && exist!= 0)
    {
    return false;
    }
    }


    et moi je veux plus qu'elle accepte ces caractéres, je veux seulement le point et la vergule, qlq peut essayer cette fonction ? depuis hier j'ai pas trouvé ou l'erreure !

    j'attend vos réponse ! Merci
    On est là pour partager notre savoir-faire !

Discussions similaires

  1. Bloquer sur la saisie d'un champs
    Par ziko.1988 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/04/2012, 13h55
  2. Contrôle sur la saisie d'un utilisateur dans un formulaire
    Par rsvincef1 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/11/2010, 17h27
  3. Formulaire - contrôle sur la saisie
    Par akmer dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/06/2008, 15h22
  4. Concaténer plusieurs champs avec des valeurs uniques
    Par stefposs dans le forum VBA Access
    Réponses: 10
    Dernier message: 30/05/2007, 17h42
  5. avoir un champ avec une valeur numerique qui se decremente
    Par romeo9423 dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 15/02/2005, 14h29

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