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égulière


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 49
    Par défaut Expression régulière
    Bonjour,

    J'ai un souci avec une expression régulière, qui fonctionne bien sous Firefox mais pas sous IE...
    Je vérifie en fait si le champ saisi ne contient que des caractères alphanumériques, via cette fonction :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function isAlphaNum(chaine) 
    {
         return /^[\wÀÂÇÈÉÊËÎÔÙÛàâçèéêëîôùû\s]+$/.test(chaine);
    }
    Sous IE, j'ai l'erreur suivante :

    ']' attendu dans l'expression régulière
    Je vois pas trop où ce crochet peut manquer...
    Merci pour tout conseil.

  2. #2
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    reg = new RegExp("^[\wÀÂÇÈÉÊËÎÔÙÛàâçèéêëîôùû\s]+$");
    return reg.test(chaine);
    :

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 49
    Par défaut
    J'ai finalement trouvé la solution, le problème vient du caractère d'échappement Javascript. Il faut en fait doubler le '\'.

    Cela donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      var reg = new RegExp("^[\\w]+$");
      return reg.test(chaine);
    J'ai modifié l'expression régulière pour n'avoir que les caractères de a à z, de A à Z et de 0 à 9, plus le '_'. ^[\w] est équivalent à ^[a-zA-Z0-9_].

    Merci pour ton aide siddh.

  4. #4
    Expert confirmé
    Avatar de siddh
    Inscrit en
    Novembre 2005
    Messages
    3 868
    Détails du profil
    Informations personnelles :
    Âge : 49

    Informations forums :
    Inscription : Novembre 2005
    Messages : 3 868
    Par défaut
    oui ca oui, tu pouvais mettre :alphanum: aussi

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

Discussions similaires

  1. [RegEx] Expression régulières : Balises <SCRIPT>
    Par Gwipi dans le forum Langage
    Réponses: 2
    Dernier message: 24/04/2006, 23h25
  2. Expression réguliére
    Par Mad_Max dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 16/09/2003, 18h17
  3. [expression régulière] mon cerveau fait des noeuds..
    Par nawac dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 27/05/2003, 10h06
  4. Expressions réguliéres
    Par Tooms dans le forum Langage
    Réponses: 4
    Dernier message: 06/12/2002, 18h42
  5. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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