JS正则验证密码 英文大小写+数字+特殊符号 的表达式。

包含 4 种字符类型中的 3 种的密码的正则表达式

我处理的密码策略如下:

  • 包括大写字母、小写字母、数字和符号,这 4 种字符中的 3 种
  • 可以使用四种类型的字符:大写字母、小写字母、数字和密码。
  • 字符数至少为 8位
  • 使用的符号是“!@;:”(实际上,可以根据自己的情况来指定,我省略了它,因为它可变)

生成的正则如下:

^((?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])|(?=.*[a-z])(?=.*[A-Z])(?=.*[!@;:])|(?=.*[A-Z])(?=.*[0-9])(?=.*[!@;:])|(?=.*[a-z])(?=.*[0-9])(?=.*[!@;:]))([a-zA-Z0-9!@;:]){8,}$

包括大写字母、小写字母、数字和符号,这 4 种字符中的 3 种

((?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])|(?=.*[a-z])(?=.*[A-Z])(?=.*[!@;:])|(?=.*[A-Z])(?=.*[0-9])(?=.*[!@;:])|(?=.*[a-z])(?=.*[0-9])(?=.*[!@;:]))

具体说明:

  • (?=.*[a-z]) (?=.*[A-Z]) (?=.*[0-9]) ⇒ 包括小写字母、大写字母和数字
  • (?=.*[a-z]) (?=.*[A-Z]) (?=.*[!@;:]) ⇒ 包括小写字母、大写字母和符号
  • (?=.*[A-Z]) (?=.*[0-9]) (?=.*[!@;:]) ⇒ 包括大写字母、数字和符号
  • (?=.*[a-z]) (?=.*[0-9]) (?=.*[!@;:]) ⇒ 包含小写字母、数字和符号

它变成 OR。 因此,它只描述了 3 种字符类型的 4 种组合模式。
具体情况可以根据自己项目要求进行更改。

就是这么简单。

我项目中是这么定义的:

/^((?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!;:@#$%?^&*_-]))([a-zA-Z0-9!;:@#$%?^&*_-]){10,16}$/,

你可能感兴趣的:(javascript,jquery)