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 :

Comment v�rifier un mot de passe ? [RegExp]


Sujet :

JavaScript

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �prouv�
    Homme Profil pro
    Param�treur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Param�treur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Par d�faut Comment v�rifier un mot de passe ?
    Bonjour,

    J'essaie de cr�er une expression r�guli�re pour v�rifier la complexit� d'un mot de passe. Je voudrais qu'il ait une taille de 7 caract�res minimum et qu'il contienne au moins 1 lettre majuscule, 1 lettre minuscule et 1 chiffre.

    Voici ce que j'ai commenc� � faire mais �a ne fonctionne pas :

    EDIT : J'ai un petit peu avanc�, celle-ci semble fonctionner mais ne v�rifie pas la taille de la chaine :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    ^([A-Z])+([a-z])+([0-9])+$
    Merci pour votre aide,
    ZiP

  2. #2
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Tu peux d�j� commencer par regarder la : Les expressions r�guli�res...
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  3. #3
    Membre Expert Avatar de Tober
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Par d�faut
    Pour compl�ter la r�ponse de Bovino, je suis pas s�r qu'en une expression r�guli�re t'arrives � v�rifier que le mot de passe contient bien les caract�res que tu veux.
    Tu pourras valider que le mot de passe fait bien 7 caract�res et valider qu'il contient bien des caract�res dans [a-zA-Z0-9] mais t'es pas s�r qu'ils sont effectivement utilis�.

    Ce que tu peux d�j� faire, c'est v�rifier la taille de ton mot de passe, et g�rer l'erreur au cas ou ca va pas (sans regex donc). Et ensuite v�rifier que la chaine contient bien un A-Z et ensuite un a-z et ensuite un 0-9.

  4. #4
    Membre exp�riment�
    Profil pro
    Inscrit en
    D�cembre 2007
    Messages
    128
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2007
    Messages : 128
    Par d�faut
    Citation Envoy� par Tober Voir le message
    Pour compl�ter la r�ponse de Bovino, je suis pas s�r qu'en une expression r�guli�re t'arrives � v�rifier que le mot de passe contient bien les caract�res que tu veux.
    D�trompes toi, c'est tout � fait possible.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    var passwordStrength = /(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{7,}/;
     
    passwordStrength.test('azerTy7'); // true
    passwordStrength.test('azerty7'); // false
    passwordStrength.test('azerTyy'); // false
    passwordStrength.test('AZERTY7'); // false
    passwordStrength.test('azerT6');  // false

  5. #5
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Citation Envoy� par TheGwy Voir le message
    D�trompes toi, c'est tout � fait possible.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    var passwordStrength = /(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{7,}/;
     
    passwordStrength.test('azerTy7'); // true
    passwordStrength.test('azerty7'); // false
    passwordStrength.test('azerTyy'); // false
    passwordStrength.test('AZERTY7'); // false
    passwordStrength.test('azerT6');  // false
    Oui, mais
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    var passwordStrength = /(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{7,}/;
     
    passwordStrength.test('7zertY'); // false
    Dans ta regExp, tu v�rifies juste qu'il y ai : au moins une minuscule, puis au moins une majuscule, puis au moins un nombre...

    La r�ponse de Tober est correcte, il faut faire trois tests distincts (ou les regrouper dans un seul, mais ensuite, c'est la lisibilit� qui en p�tit...
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  6. #6
    Membre Expert Avatar de Tober
    Homme Profil pro
    Ing�nieur d�veloppement logiciels
    Inscrit en
    Juillet 2007
    Messages
    824
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activit� : Ing�nieur d�veloppement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 824
    Par d�faut
    Jamais vu de ?= dans une expression r�guli�re
    C'est sp�cial javascript ou ?

    Merci pour ta d�fence Bovino, c'est ce que je voulais dire

  7. #7
    Membre exp�riment�
    Profil pro
    Inscrit en
    D�cembre 2007
    Messages
    128
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2007
    Messages : 128
    Par d�faut
    Citation Envoy� par Bovino Voir le message
    Oui, mais
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    var passwordStrength = /(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{7,}/;
     
    passwordStrength.test('7zertY'); // false
    Dans ta regExp, tu v�rifies juste qu'il y ai : au moins une minuscule, puis au moins une majuscule, puis au moins un nombre...

    La r�ponse de Tober est correcte, il faut faire trois tests distincts (ou les regrouper dans un seul, mais ensuite, c'est la lisibilit� qui en p�tit...
    Ha non pas du tout je v�rifie aussi la longueur regarde bien :

    var passwordStrength = /(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{7,}/;

    De plus je ne v�rifie pas qu'il y ai "au moins une minuscule, puis au moins une majuscule, puis au moins un nombre" mais au moins une minuscule ET au moins une majuscule ET au moins un nombre dans n'importe quel ordre. Car j'utilise des groupes dits "zero-length".

    Ton exemple te retourne false car ton test ne fait que 6 caract�res et que la longueur minimale du mot de passe est 7 caract�res. Donc au contraire cela marche tr�s bien.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    var passwordStrength = /(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{7,}/;
     
    passwordStrength.test('7zertY'); // false car mdp trop court
    passwordStrength.test('7zertYy'); // true

    @Tober
    Non non ce n'est pas sp�cifique JS, c'est ce qu'on appelle un "positive lookahead".

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

Discussions similaires

  1. comment crypter les mots de passe?
    Par JauB dans le forum MS SQL Server
    R�ponses: 3
    Dernier message: 23/11/2005, 16h37
  2. R�ponses: 1
    Dernier message: 19/09/2005, 13h56
  3. R�ponses: 5
    Dernier message: 17/12/2004, 09h25
  4. Comment cacher un mot de passe ?
    Par benxitd dans le forum Windows
    R�ponses: 2
    Dernier message: 02/12/2004, 10h59
  5. Comment changer le mot de passe sous Interbase
    Par ETOKA dans le forum InterBase
    R�ponses: 3
    Dernier message: 05/08/2004, 11h25

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