Vous devez vérifier un mot de passe pour confirmer qu'il remplit les conditions suivantes :
1. Au moins 6 caractères
2. >3. Au moins une lettre minuscule
4. Au moins un chiffre
5. Aucun autre caractère spécial sauf 2, 3, 4 points, c'est-à-dire uniquement des lettres et des chiffres
Pour ce type de problème de vérification, les expressions régulières sont sans aucun doute le premier choix, mais si les expressions régulières ne sont pas utilisées, il est également possible d'écrire une logique de vérification.
Pour ce problème, nous le divisons en deux tests :
Selon la première exigence, établir un test de longueur.
Sur la base des points 2, 3, 4 et 5, établir une fonction de détection de contenu.var lengthValid = function(pass){ return pass.length >= 6; };
La logique est la suivante : comptez le nombre de lettres majuscules et minuscules et de chiffres dans la chaîne du mot de passe. Si des symboles spéciaux sont rencontrés, false est renvoyé directement.
var contentValid = function(pass){ var lowerNum = 0; var upperNum = 0; var numNum = 0; for(var i=0;i<pass.length;i++){ var code = pass.charCodeAt(i); if(code >= 48 && code <= 57){ numNum++; } else if(code >= 65 && code <= 90){ upperNum++; } else if(code >= 97 && code <= 122){ lowerNum++; } else{ return false; } } return lowerNum && upperNum && numNum; };
function validate(password) { return lengthValid(password) && contentValid(password); }