Exemple simple utilisant des expressions régulières
public class mdpvalidation {
public static void main(String[] args) {
String mdp = "xwQRb23!";
String pattern = "(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\\S+$).{8,}";
System.out.println(mdp.matches(pattern));
}
}
Explications :
(?=.*[0-9])
un chiffre doit apparaître au moins une fois(?=.*[a-z])
une lettre minuscule doit apparaître au moins une fois(?=.*[A-Z])
une lettre majuscule doit apparaître au moins une fois(?=.*[@#$%^&+=])
un caractère spécial doit apparaître au moins une fois(?=\\S+$)
aucun espace blanc n’est autorisé dans la chaîne entière.{8,}
au moins 8 caractères