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

C# Discussion :

Mot de passe et expression régulière


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut Mot de passe et expression régulière
    Bonjour,

    J'essaye la regex suivante qui ne fonctionne pas:

    \S{10,}\d{2,}\w{2,}


    Je cherche à vérifier que la chaîne soit bien composée
    - d'au moins 10 caractères qui ne soient pas un espace = \S{10,}
    - d'au moins 2 chiffres = \d{2,}
    - d'au moins 2 lettres = \w{2,}

    Sur la chaîne exemple "VisualStudio2010" , ça renvoie vrai.

    Par contre, sur "VisualStu2010", ça renvoie faux. (pas assez de lettres).

    Comment je peux faire pour que la regex vérifie que l'ensemble de la chaîne comporte au moins 10 caractères différents d'un espace, et que l'ensemble de ces caractères comporte au moins 2 chiffres et au moins 2 lettres ?

    Ce n'est peut-être pas possible, je ne sais pas.

    Papy !

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    En fait ta regex veut dire :

    - au moins 10 caractères qui ne soient pas un espace = \S{10,}
    SUIVI DE
    - au moins 2 chiffres = \d{2,}
    SUIVI DE
    - au moins 2 lettres = \w{2,}

    Alors que toi tu veux que ça vérifie chacune de ces conditions séparément. Je ne crois pas que ce soit possible de le faire avec une seule regex, à mon avis il faut en faire 3 séparées...

    En plus, \d{2,} et \w{2,}, c'est pas bon, parce que ça cherche 2 chiffres (ou 2 lettres) consécutifs, alors que je suppose qu'en fait ils n'ont pas besoin d'être consécutifs

  3. #3
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    alors que je suppose qu'en fait ils n'ont pas besoin d'être consécutifs
    C'est bien ça ! J'ai beau le tourner dans tous les sens, ça le fait pas.

    Ta remarque me confirme ce que je pensais. Je vais faire ça en plusieurs étapes.

    Merci

  4. #4
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    C'est possible en utilisant ce que l'on appelle les lookaround. Tu trouveras des informations à ce sujet dans mon article, chapitre 3.8, avec un exemple d'application sur les mots de passe au chapitre 3.8.3

    A adapter dans ton cas pour le coup des 2 lettres et 2 chiffres mini puisque ce n'est pas forcément à la suite mais ça devrait être jouable. J'aurais un peu plus de temps ce soir pour regarder si besoin

  5. #5
    Membre Expert

    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2007
    Messages
    3 530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 530
    Par défaut
    C'est ce qu'on appelle les références arrières ??

    Je m'y étais un peu intéressé il y a quelques temps mais j'avais eu beaucoup mal avec ça. J'avais compris que ça validait des éléments par rapport à ce qui se trouve avant.

    Je vais lire ton article avec attention et voir si je m'en sors.

    Merci à toi

  6. #6
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Essaye en utilisant l'expression

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^(?=(.*?\d){2})(?=(.*?[a-zA-Z]){2})\S{10,}$

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

Discussions similaires

  1. Sélectionner des mots sauf avec des expressions régulières
    Par naim216 dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 20/02/2014, 11h20
  2. Champs mot de passe et expression régulière
    Par altecad dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/01/2009, 17h17
  3. Mot de passe et Expression Reguliere
    Par kakuzza dans le forum ASP.NET
    Réponses: 5
    Dernier message: 06/02/2008, 09h23
  4. Expression régulière mot de passe aspnet
    Par petitchat dans le forum ASP.NET
    Réponses: 4
    Dernier message: 24/08/2007, 14h55
  5. Réponses: 5
    Dernier message: 08/02/2007, 18h21

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