Expression régulière pour valider un mot de passe

L’expression régulière du mot de passe peut être utilisée pour contrôler la forme d’un mot de passe et qu’un mot de passe fourni est suffisamment fort pour offrir une meilleure protection contre les attaques par force brute des robots.

Expression régulière pour un mot de passe solide

L’expression régulière ci-dessous vérifie qu’un mot de passe :

/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/

Version JavaScript

Le format d’un email valide est le suivant email@domain.com. La fonction prend en paramètre l’adresse email et lance ensuite une comparaison avec l’expression régulière. S’il ne trouve aucune correspondance, il échoue la validation et la fonction renvoie false, si la correspondance renvoie true, l’email aura un format correct et la fonction retournera true. La fonction Javascript pour valider le courriel

/**
 * Valider un mot de passe
 * 
 * Si le mot de passe n'est pas assez sécurisé, retournez false
 * 
 * @param mdp
 * @return Boolean
 */
function validateMDP(mdp){
    var Reg = new RegExp(/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/);
    return Reg.test(mdp);
}

Comment utiliser la fonction Javascript

La meilleure façon de l’utiliser sera dans une déclaration IF comme ci-dessous.

if(validateMDP(mdp)){
     alert("Mot de passe  valide");
} else {
     alert("Mot de passe invalide");
}

Version PHP

/*
 * valider mot de passe
 * @param $mdp
 */
 function isValidMDP($mdp)
 {
   return preg_match('/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$/', $mdp)  
 }

Version HTML

Vous pouvez vérifier en HTML en amont de la validation en php et javascript via l’attribut pattern vous permettant de mettre en avant avec du CSS si le mot de passe respecte l’expression régulière.

 <input
      name="mdp"
      type="text"
      pattern="(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}"
     />

Nouvelle vidéo

Newsletter

Ne manquez jamais les nouveaux conseils, tutoriels et autres.

Pas de spam, jamais. Nous ne partagerons jamais votre adresse électronique et vous pouvez vous désabonner à tout moment.