Regex pour des complexes de validation de mot de passe
J'ai regardé autour de sur stackoverflow, etc, mais je n'ai pas trouvé une bonne réponse à cette question..est-ce que la regex de support de l'écriture d'une règle de ce type? Si oui, est-il une regex nos experts là-bas qui peut m'aider à l'écrire, je suis un gros newb de regex et un manque de temps...
Je sais que je peux le faire avec un manuel de fonction en c# à l'aide de c# char, le nombre de méthodes, mais je voudrais utiliser une regex si je peux..
Exigence :
- Au moins 8 caractères de long
- 2 lettres
- 2 chiffres
- 1 majuscule
- 1 minuscule
- 1 Symbole
Si ce sont les règles que vous allez utiliser, je vous déteste. 🙂
Je n'ai pas fait de ces règles 🙂
Exactement 8 caractères ou d'au moins 8 caractères?
N'oubliez pas un hiéroglyphe.
Regex serait beaucoup trop complexe.
Je n'ai pas fait de ces règles 🙂
Exactement 8 caractères ou d'au moins 8 caractères?
N'oubliez pas un hiéroglyphe.
Regex serait beaucoup trop complexe.
OriginalL'auteur kyleb | 2013-06-05
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser cette expression
Démo
Ce qui ne fonctionne pas du tout..
Ah, après la modification, il fonctionne maintenant.. je ne voudrais pas l'utiliser mais
+1
à des fins de piratage.ouais..moi 2..
Un inconvénient de cette est que vous ne pouvez pas dire à l'utilisateur pourquoi leur mot de passe n'est pas valide, vous ne pouvez leur dire qu'il ne l'est pas.
OriginalL'auteur Anirudha
Vous êtes beaucoup mieux d'écrire une simple routine de validation pour un mot de passe qui a toutes ces vérifications.
Une expression régulière ne semble pas que le meilleur (ou le plus extensible) solution pour ce problème particulier.
Je me penche vers cela, mais je veux voir si n'importe qui peut créer une expression régulière comme cette première..
+1, nice, concevable et plus maintenable, que d'être comparé à long-long expressions régulières.
Je tente aussi, mais de ce que j'ai sur l'image, c'est beaucoup trop long.
OriginalL'auteur Oded
Je vous recommande de faire le chemin Oded de répondre, en fait, mais je pense que LINQ est un plus lisible et explicite le mécanisme de validation dans ce cas.
Count
).retour p.Longueur == 8 est faux. vous devez avoir AU MOINS 8 caractères
+1
- Bien qu'il nécessite un nombre d'itérations par le biais de la chaîne, il est facile à lire et bien organisé.Je savais que tu le prendrais sur la performance. 🙂 Je suppose que c'est en temps réel, la validation d'une zone de texte, pas à parcourir des milliers de mots de passe après le fait. Dans ce cas, nous avons une itération de façon réaliste, pas plus de 1-2 dizaine de personnages, des avantages de performances ne seront pas ressentis sur n'importe quel PROCESSEUR de l'15 dernières années.
Corrigé, merci
OriginalL'auteur Rotem
Vous pouvez essayer cette méthode.
Thankss
-1 : cela échoue sur les Normes d'Accessibilité - tous les messages d'erreur doivent être retournés dans une seule et même réponse. Cette méthode pourrait provoquer de multiples tentatives de la même entrée avec différentes réponses d'erreur. Il devrait être remaniée pour tester toutes les règles et de retourner une collection d'erreurs
OriginalL'auteur Anurag