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éguliere et objet RegExp


Sujet :

JavaScript

Vue hybride

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 94
    Par défaut expression réguliere et objet RegExp
    Bonsoir à tous,

    Pour vérifier les informations saisie dans un formulaire , j'utilise les expression régulières avec l'objet RegExp et la méthode test().

    mon problème: un coup ça marche, un coup ça marche pas!

    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
    function manipDom() 
    { 
    	var formulaire = document.getElementById("formulaire");
    	formulaire.addEventListener('submit',verif,'false');
    }
     
    function verif() 
    { 
    	var formulaire = document.getElementById("formulaire");
     
    	var reg=new RegExp("^[a-zA-Z]$","g");
    	var nom=document.getElementById("nom").value;
    	alert(nom);
    	if (!reg.test(nom))
    		{
    			alert ('Veuillez utiliser que des lettres dans votre nom');
    		}
    }

  2. #2
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Bonjour, quel est le problème exactement ?
    Il ne donne pas l'alert du nom ? Ou bien le test se passe mal ?
    Quelle chaine voulez-vous exactement autoriser ? De l'alpha numérique ? Avec ou sans espace (dans le cas de nom propre) ?
    Pq passer par addEventListener au lieu d'appeler la fonction verif directement ?

  3. #3
    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
    Un grand classique désormais le "une fois sur deux" avec les regExp !
    Il s'agit d'un problème de pointeur de la regExp qu'il faut réinitialiser soit en testant un coup à vide :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var reg=new RegExp("^[a-zA-Z]$","g");
    	var nom=document.getElementById("nom").value;
    	alert(nom);
    	 reg.test('');
            if (!reg.test(nom))
    ou en inititalisant direct la regExp au moment du test:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	var nom=document.getElementById("nom").value;
    	alert(nom);
            if (!reg.test(/^[a-zA-Z]$/g))
    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 !

  4. #4
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Tu pourrais corriger ceci, SpaceFrog:

    Citation Envoyé par SpaceFrog Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	var nom=document.getElementById("nom").value;
    	alert(nom);
            if (!reg.test(/^[a-zA-Z]$/g;))

  5. #5
    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
    Oui désolé étourderie de ma part le ; est resté après le copier/coller ...

    on peut aussi corriger comme ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!reg.test(/^[a-z]$/ig))
    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 !

  6. #6
    Expert éminent

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Par défaut
    Euh, non alors je n'ai rien compris. reg contient quoi à ce niveau-ci ?
    Ce n'est pas plutôt qqch du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (!/^[a-z]$/ig.test(nom))

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

Discussions similaires

  1. expression régulière objet RegExp
    Par tkwebch dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 09/12/2009, 11h35
  2. [Debutant] Expression réguliere
    Par grizzz dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 17/08/2007, 16h14
  3. Expression Réguliere (chaine) Regexp
    Par Mike35 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 16/02/2006, 15h08
  4. expression réguliere en c++
    Par alambics dans le forum MFC
    Réponses: 9
    Dernier message: 10/03/2004, 20h19
  5. expression réguliere
    Par alambics dans le forum Langage SQL
    Réponses: 2
    Dernier message: 10/03/2004, 13h52

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