Regex validation du mot de passe

Je veux une expression régulière pour validation du mot de passe.

Un mot de passe doit contenir au moins huit caractères, dont au moins un chiffre, des lettres minuscules et majuscules et des caractères spéciaux, par exemple #, ?, !

J’ai essayé ça, mais se marche pas:

(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"

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,}$"

Testez ce regex en ligne.

Vous pouvez utiliser cette expression régulière avec plusieurs assertions (conditions):

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

Cette expression régulière renforcera ces règles :

  • Au moins une lettre majuscule, (?=.*?[A-Z])
  • Au moins une lettre minuscule, (?=.*?[a-z])
  • Au moins un chiffre, (?=.* ?[0-9])
  • Au moins un caractère spécial (?=.*?[#?!@$%^&*-])
  • Au moins huit caractères .{8,}

Vous pouvez la vérifier sur cet outil.

Utilisez la Regex suivante pour vérifier les conditions ci-dessous :

Conditions :

  • Au moins 1 lettre majuscule.
  • Min 1 lettre minuscule.
  • Min 1 caractère spécial.
  • Min 1 chiffre.
  • 8 caractères au minimum.
  • Max 30 caractères.

Regex:

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

Le mot de passe doit contenir un chiffre de 1 à 9, une lettre minuscule, une lettre majuscule, un caractère spécial, sans espace, et il doit être composé de 8 à 16 caractères.

/^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*\W)(?!.* ).{8,16}$/

Explication :

  • (?=.*[0-9]) signifie que le mot de passe doit contenir un seul chiffre de 1 à 9.
  • (?=.*[a-z]) signifie que le mot de passe doit contenir une lettre minuscule.
  • (?=.*[A-Z]) signifie que le mot de passe doit contenir une lettre majuscule.
  • (?=.*\W) signifie que le mot de passe doit contenir un caractère spécial.
  • .{8,16} signifie que le mot de passe doit comporter 8 à 16 caractères. Nous devons l’utiliser à la fin de l’expression régulière, juste avant le symbole $.