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

Collection et Stream Java Discussion :

Vérification de mot de passe et regex


Sujet :

Collection et Stream Java

  1. #1
    Membre expérimenté

    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 1 374
    Points
    1 374
    Par défaut Vérification de mot de passe et regex
    Bonjour

    J'aimerai vérifier qu'un mot de passe comporte bien :
    - au moins une minuscule
    - au moins une majuscule
    - au moins un chiffre

    Je me lutte un peu avec les regex java, pourriez vous m'aider ?

    Par exemple, une des nombreuses tentatives est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    		password = "abAZ12";
    //		 Test to check it's a word character
    		valide = Pattern.matches("\\w", password);
     
    		if (valide == true ) valide = Pattern.matches("[a-z]", password);
    		if (valide == true ) valide = Pattern.matches("[A-Z]", password);
    		if (valide == true ) valide = Pattern.matches("[0-9]", password);
    Ca rate dès le 1er coup..

    Merci d'avance

    ZedroS
    Merci d'utiliser le bouton [Résolu] pour les sujets qui le sont.
    [pub]mon blog franco anglais, article du moment: Wicket: fournir des données JSON via Ajax[/pub]

  2. #2
    Membre averti
    Inscrit en
    Avril 2004
    Messages
    503
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 503
    Points : 445
    Points
    445
    Par défaut Re: Vérification de mot de passe et regex
    Citation Envoyé par ZedroS
    Ca rate dès le 1er coup..
    Tu veux dire que ton boolean est "false" dès la prenière ligne ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    				valide = Pattern.matches("\\w", password);
    L'interêt du doute est que cela fait avancer.
    (parenthèses)Je suis à la recherche d'un emploi sur Valence(26) et ses environs.
    mon cv:
    http://charegis.netcv.org/

  3. #3
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    Essayes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    password = "abAZ12";
    //       Test to check it's a word character
     
          valide = (Pattern.matches("\\w+", password) &&
                        Pattern.matches(".*[a-z].*", password) &&
                        Pattern.matches(".*[A-Z].*", password) &&
                        Pattern.matches(".*[0-9].*", password));
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  4. #4
    Membre expérimenté

    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 1 374
    Points
    1 374
    Par défaut
    Merci le y@m's !

    A priori ça passe, mais je vais me faire une petite batterie de tests HtmlUnit pour éprouver plus la chose (et découvrir HtmlUnit au passage ^^).

    Regis C., oui ça plantait dès la première ligne (enfin, mettait valide à Faux).

    A propos le y@m's, tu peux détailler un peu pourquoi un .* et une simple * ? J'ai lu la doc et j'avais vraiment pas compris la chose ainsi
    Merci d'utiliser le bouton [Résolu] pour les sujets qui le sont.
    [pub]mon blog franco anglais, article du moment: Wicket: fournir des données JSON via Ajax[/pub]

  5. #5
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Points : 5 943
    Points
    5 943
    Par défaut
    L'expression régulière "[a-z]" signifie : n'importe quel caractère entre a et z et rien d'autre.
    Ton password doit contenir au moins un caractere entre a et z mais il peut contenir autre chose. On rajoute donc ".*" ( . signifie n'importe quel caractere et * est le quantifieur 0 ou N fois) devant et derrière pour finalement dire que le password doit contenir n'importe quoi avec au moins un caractère compris entre a et z.
    Idem pour [A-Z] et [0-9].

    Pour le "\\w+" :
    "\\w" (en fait "\w") signifie : 1 caractère pourvu qu'il soit compris entre a et z, entre A et Z, ou encore entre 0 et 9. On rajoute simplement le "+" qui signifie 1 ou N fois (ton password peut faire plus d'un caractere (c'est mieux )).
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

  6. #6
    Membre expérimenté

    Inscrit en
    Décembre 2004
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 584
    Points : 1 374
    Points
    1 374
    Par défaut
    Merci beaucoup.

    En fait, dans mes tests, j'ai confondu * et . J'utilisais * pour dire "n'importe quel caractère"...

    Pour ce qui est du nombre de caractère, mon chtit Tapestry s'assure lui même tout seul que ce soit bon

    D'ailleurs, on peut également définir des patterns pour valider les entrées. Va falloir que je me penche sur la question, maintenant que je connais la regex qui va bien

    Encore merci !
    Merci d'utiliser le bouton [Résolu] pour les sujets qui le sont.
    [pub]mon blog franco anglais, article du moment: Wicket: fournir des données JSON via Ajax[/pub]

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

Discussions similaires

  1. service web + vérification de mot de passe
    Par wasper dans le forum VB.NET
    Réponses: 3
    Dernier message: 12/08/2010, 20h15
  2. Vérification de mot de pass multiple.
    Par Sytec373 dans le forum VB.NET
    Réponses: 12
    Dernier message: 02/06/2010, 23h09
  3. [XL-2003] Vérification de mot de passe en Vba
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/06/2009, 10h51
  4. Génération et vérification de mots de passe
    Par 84mickael dans le forum Sécurité
    Réponses: 1
    Dernier message: 15/06/2009, 01h21
  5. Vérification de mot de passe
    Par kh-san dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 02/09/2007, 00h33

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