Je suis assez novice en matière de jQuery, et j'ai écrit une fonction simple pour vérifier la force d'un mot de passe à chaque pression de touche.
L'idée est que chaque fois qu'un utilisateur saisit un caractère, le contenu est évalué pour tester la force du mot de passe qu'il a saisi... Je suis sûr que tout le monde a déjà vu ça.
Quoi qu'il en soit, la logique que j'ai utilisée est qu'aucun mot de passe ne commence avec une valeur de 1. Lorsqu'un caractère minuscule est utilisé, le score passe à 2. Lorsqu'un chiffre est utilisé, le score augmente à nouveau de 1, de même lorsqu'un caractère majuscule est utilisé et lorsque le mot de passe compte 5 caractères ou plus.
Ce qui est renvoyé est la force du mot de passe jusqu'à présent sous la forme d'une valeur de 1 à 5 chaque fois qu'une touche est pressée.
Donc, sur ma question. La façon dont je l'ai fait ne semble pas très jQuery comme ... presque comme je pourrais aussi bien avoir fait directement javascript. Je me demandais aussi quelle était ma logique. Ai-je fait quelque chose ou oublié quelque chose ? Des suggestions de personnes plus intelligentes que moi ?
Toute suggestion ou conseil serait apprécié.
$(document).ready(function(){
$("#pass_strength").keyup(function() {
var strength = 1;
/*length 5 characters or more*/
if(this.value.length >= 5) {
strength++;
}
/*contains lowercase characters*/
if(this.value.match(/[a-z]+/)) {
strength++;
}
/*contains digits*/
if(this.value.match(/[0-9]+/)) {
strength++;
}
/*contains uppercase characters*/
if(this.value.match(/[A-Z]+/)) {
strength++;
}
alert(strength);
});
});
0 votes
RnZ Code Labs a une interface facile à utiliser Force du mot de passe plugin.
1 votes
Pour un évaluateur de force de mot de passe plus sophistiqué, voir : stackoverflow.com/questions/948172/password-strength-meter/