Voici un regex qui teste un minimum 8 caractères, au moins une lettre majuscule, une lettre minuscule, un chiffre et un caractère spécial :
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$"
Voici un regex qui teste un minimum 8 caractères, au moins une lettre majuscule, une lettre minuscule, un chiffre et un caractère spécial :
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$"