2017-09-15 1 views
0

J'ai un code javascript qui ne valide que les entiers d'un mot de passe. Tout ce que je veux, c'est développer le code pour "var exp", dont le mot de passe doit être une combinaison de majuscules, de minuscules, de caractères numériques et d'un caractère spécial.Javascript Password Long Complex Validation

codes HTML fonctionnent parfaitement ..

//Empty Validation// 
 
function isEmpty(elemValue, field) { 
 
    if (elemValue == "" || elemValue == null) { 
 
    alert(field + " must not be empty!"); 
 
    return true; 
 
    } else { 
 
    return false; 
 
    } 
 
} 
 

 
//empty validation end// 
 

 
//password validation//   
 
function pwValidation(elemValue) { 
 
    if (!isEmpty(elemValue, "Password")) { 
 
    if (elemValue.length >= 8) { 
 
     var exp1 = /^[0-9]+$/; 
 

 
     if (elemValue.match(exp1)) { 
 
     return true; 
 
     } else { 
 
     alert("Password must contain Upper, lower case, number and at least a special character"); 
 
     return false; 
 
     } 
 
    } else { 
 
     alert("Password must at least 8 characters!"); 
 
    } 
 
    } else { 
 
    return false; 
 
    } 
 
} 
 
//password validation end//

Répondre

0

Jetez un oeil à this réponse à la question précédente concernant la validation du mot de passe. Comme l'a dit, il est plus facile de changer votre regex pour trouver des mots de passe non valides plutôt que valide, vous devez donc retourner autour de votre logique, comme ceci:

//Empty Validation// 
 
function isEmpty(elemValue, field) { 
 
    if (elemValue == "" || elemValue == null) { 
 
    alert(field + " must not be empty!"); 
 
    return true; 
 
    } else { 
 
    return false; 
 
    } 
 
} 
 

 
//empty validation end// 
 

 

 
//password validation//   
 
function pwValidation(elemValue) { 
 
    if (!isEmpty(elemValue, "Password")) { 
 
    if (elemValue.length >= 8) { 
 
     var exp1 = /^(.{0,7}|[^0-9]*|[^A-Z]*|[^a-z]*|[a-zA-Z0-9]*)$/; 
 

 
     if (elemValue.match(exp1)) { 
 
     alert("Password must contain Upper, lower case, number and at least a special character"); 
 
     return false; 
 
     } else { 
 
     return true; 
 
     } 
 
    } else { 
 
     alert("Password must at least 8 characters!"); 
 
    } 
 
    } else { 
 
    return false; 
 
    } 
 
} 
 
//password validation end//