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 Reguliere JavaScript


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 14
    Par d�faut Expression Reguliere JavaScript
    Bonjour,

    Je souhaite utiliser les expressions r�guli�res pour v�rifier ce que l'utilisateur rentre dans un champ texte.

    Je veux qu'il ne puisse rentrer que le texte NA peu importe qu'il y ait des espaces avant ou apres et peu importe la casse.

    je pensais donc � ce code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    var txt = new RegExp();
    txt.compile("^(\s)*NA(\s)*$","i");
    b = txt.test(this.rawValue);
    Si je teste l'expression sur ce site http://www.annuaire-info.com/outil-r...ion-reguliere/, cela fonctionne bien.

    Mais pas dans mon formulaire, il n'accepte pas les espaces.

    Toute aide sera la bienvenue.

    Merci

  2. #2
    Membre Expert
    Avatar de gwyohm
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Octobre 2007
    Messages
    925
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Paris (�le de France)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 925
    Par d�faut
    Salut, ton probl�me vient du fait que tu initialises ton expression reguliere ainsi :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var txt = new RegExp();
    txt.compile("^(\s)*NA(\s)*$","i");
    Comme l'expression en elle m�me est dans une chaine de caract�res, le '\' escape le s pour la chaine de caract�re.

    Je te propose 2 solutions :

    1/ Faire un escape du backslash :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    var txt = new RegExp();
    txt.compile("^(\\s)*NA(\\s)*$","i");
    2/ Utiliser une autre facon de cr�er ton expression reguliere :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    var txt = /^(\s)*NA(\s)*$/i;

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    F�vrier 2007
    Messages
    14
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2007
    Messages : 14
    Par d�faut
    Merci beaucoup ca marche tr�s bien, je comprends mon erreur.
    Je ne connais pas la deuxi�me mani�re de d�clarer la regex, je vais essayer de me renseigner.

    Edit: ok je comprends aussi le fonctionnement de la seconde, merci bien.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. expressions regulieres et javascript
    Par arti2004 dans le forum G�n�ral JavaScript
    R�ponses: 5
    Dernier message: 08/10/2008, 16h34
  2. javascript expression reguliere
    Par Alex35 dans le forum G�n�ral JavaScript
    R�ponses: 4
    Dernier message: 19/12/2007, 15h33
  3. Expressions regulieres et Javascript : les operateurs
    Par olive57GT dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 12/12/2007, 18h33
  4. expression reguliere javascript
    Par goomie dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 28/05/2007, 13h24
  5. expressions regulieres javascript
    Par youcef81 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 01/06/2006, 18h55

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