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 :

Règle qui ne fonctionne pas [RegExp]


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 146
    Par défaut Règle qui ne fonctionne pas
    Bonjour à tous. Je voudrais créer une regexp qui n'autorise que des lettres (min et maj) et des chiffres. J'ai fait ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var reg = new RegExp("^[a-zA-Z0-9]$", "gi");
    Cependant, les caractères ^, ¨ et ` passent à travers (ce sont les seuls).

    J'ai donc essayé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var reg = new RegExp("^[a-zA-Z0-9][^\^\`]$", "gi");
    Mais maintenant tout ce que je teste renvoie false.


    Merci d'avance de votre aide

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Billets dans le blog
    1
    Par défaut
    Dans ton cas ta regexp test pour le cas d'un unique caractère, et non plusieurs.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var reg = new RegExp("^[a-zA-Z0-9]+$", "gi");
    var str="hello";
    reg.test(str);

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 146
    Par défaut
    Merci beaucoup pour la réponse.

    J'ai essayé et ça ne marche toujours pas.
    En fait, j'appelle cette RegExp à chaque saisie d'une touche dans le champ concerné, donc ce n'est pas ça le problème.

    Les 3 caractères cités dans mon premier message passent toujours.

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Billets dans le blog
    1
    Par défaut
    Essaye dans ce cas avec ta dernière regexp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var reg = new RegExp("^[a-zA-Z0-9][^\^\`]+$", "gi");
    var str = "hello";
    reg.test(str);
    Les deux propositions on été tester sous FF 14.0.1
    Sous quel navigateur test tu ton script?

  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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var reg = new RegExp("^[a-zA-Z0-9]+$", "gi");
    ne permet la saisie que des chiffres et des lettres

    les guillemets quotes et circonflexe ne passent pas, les caractères accentués non plus.


    Après tout dépend de la façon dont tu testes ???
    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
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2011
    Messages : 146
    Par défaut
    Les guillemets et quotent ne passent pas non. Ce sont seulement les 3 caractères que j'ai énoncé dans mon premier message : le tréma, le circonflexe, et l'accent grave.

    Pour tester, j'ai mis un "keypress" sur mon input. Et à chaque fois, je teste la valeur de la touche appuyée. Toutes les touches sont bien filtrées mis à part ces 3 là ..

    Voilà mon bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    //Saisie du nom d'utilisateur
    $('#boxInscription .nomUtilisateur').keypress(function(e){
    	var touche= String.fromCharCode(e.keyCode);
    	var reg = new RegExp("^[a-zA-Z0-9]$", "gi");
    	return reg.test(touche);
    });

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

Discussions similaires

  1. Code qui ne fonctionne pas sur Mac
    Par malbaladejo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/01/2005, 11h08
  2. [SQL] Requête à jointure qui ne fonctionne pas
    Par Bensor dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/12/2004, 16h10
  3. Jointure externe qui ne fonctionne pas
    Par Guizz dans le forum Langage SQL
    Réponses: 3
    Dernier message: 05/02/2004, 12h26
  4. CREATEFILEMAPPING qui ne fonctionne pas???
    Par Jasmine dans le forum MFC
    Réponses: 2
    Dernier message: 06/01/2004, 19h33
  5. UNION qui ne fonctionne pas
    Par r-zo dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/07/2003, 10h04

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