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 :

controle de nombre avec js


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 201
    Par défaut controle de nombre avec js
    bonjour,
    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
    <html>
    <head>
    	<script type="text/javascript">
    		function tel(){
    			var tel= /[0-9]$/;
    			if(!tel.test(document.getElementById("tel").value))alert('Nom Numerique')
    }
    	</script>
    </head>
    <body>
    <form name="f1" action="" method="post" onSubmit="tel();">
    <input type="text" id="tel"/>
    <input type="submit">
    </form>
    </body>
    </html>
    je ne sais pas pourquoi ce code ne marche pas

  2. #2
    Membre expérimenté Avatar de k1rby
    Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 181
    Par défaut
    Alors de 1 ta variable a le même nom que ta fonction, je suis pas sûr qu'il apprécie, de 2 .test() c'est pour les object RegExp, et de 3 il manque l'accolade fermante de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function tel(){
         var maReg= new RegExp('[0-9]$');
         if(!maReg.test(document.getElementById("tel").value)){
              alert('Nom Numerique')
         }
    }
    De plus sachant que tu ne commences pas par un ^ pourraient passer ton test :
    hjzefblegrblredb1
    56789jhsbfvsh,vf2
    etc., bref toute chaîne de caractère finissant par un chiffre

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 201
    Par défaut
    j'ai essayé mais ca n'a pas marché

  4. #4
    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 hraiwen Voir le message
    j'ai essayé mais ca n'a pas marché
    essayé quoi ?
    Heu... k1rby te donne une réponse détaillée, fais au moins l'effort de prendre plus de 4 secondes pour répondre ^^ (c'est quand même ton problème, au départ...)

    Outre ses pertinentes remarques, ce que k1rby t'explique à la fin pour l'écriture de ta regexp, c'est de placer un caractère signifiant "début de la chaine testée" :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
         var maReg= new RegExp('^[0-9]$');

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 201
    Par défaut
    merci bien pour tes remarque,
    j'ai essayé ca
    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
    <html>
    <head>
    	<script type="text/javascript">
    		function tel(){
         var maReg= new RegExp('^[0-9]$');
         if(!maReg.test(document.getElementById("tel").value)){
              alert('Nom Numerique')
         }
    }
     
    	</script>
    </head>
    <body>
    <form name="f1" action="" method="post" onSubmit="tel()">
    <input type="text" id="tel"/>
    <input type="submit" value="test">
    </form>
    </body>
    </html>
    ca na pas marché

  6. #6
    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
    Tu veux dire que l'alert de ta fonction tel ne se déclenche jamais, que la saisie soit conforme ou pas ?

    (il manque un ";" après cet alert, d'ailleurs, mais ca ne doit pas poser de problème je suppose, comme l'instruction est unique dans son bloc...)

  7. #7
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Par défaut
    Salut,
    Modifie le nom de la fonction car il y a conflit avec l'id de l'input.
    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
    <html>
    <head>
    	<script type="text/javascript">
    		function telef(){
    	  var maReg=  /[0-9]$/;
         if(!maReg.test(document.getElementById("tel").value))
    	 {
              alert('Nom Numerique');
    		  return false;
         }
    }
     
    	</script>
    </head>
    <body>
    <form name="f1" action="" method="post" onsubmit="return telef()">
    <input type="text" id="tel"/>
    <input type="submit" value="test">
    </form>
    </body>
    </html>

  8. #8
    Membre expérimenté Avatar de k1rby
    Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 181
    Par défaut
    Citation Envoyé par hraiwen Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var maReg= new RegExp('^[0-9]$');
    Tu es conscient qu'avec cette expression régulière seul 0 ou 1 ou 2 [...] ou 9 passeront le test. Par exemple 0123456789 ne le passera pas.

    Ton id s'appelle tel, je suppose donc que c'est pour vérifier un numéro de téléphone. A ce compte là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var maReg= new RegExp('^[0-9]{2}-?\\.?\\s?[0-9]{2}-?\\.?\\s?[0-9]{2}-?\\.?\\s?[0-9]{2}-?\\.?\\s?[0-9]{2}$');
    @andry.aime: le fait que la fonction ai le même nom que l'id ne pose pas de problème (en tout cas, quand je fais mes tests, ça marche nickel)

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

Discussions similaires

  1. Controler la souris avec un gamepad
    Par RLX dans le forum Windows
    Réponses: 9
    Dernier message: 30/10/2008, 17h40
  2. Réponses: 5
    Dernier message: 13/09/2006, 16h47
  3. sum avec des nombres avec virgule
    Par Bruno2000 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 30/09/2004, 15h01
  4. [Format]nombres avec des 0
    Par zozolh2 dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 01/06/2004, 08h43
  5. Controler un nombre de processus identiques.
    Par ditfau6 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 24/05/2004, 16h21

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