密码的正则表达式必须至少包含八个字符,至少一个数字以及小写和大写字母以及特殊字符

2022-08-29 22:28:54

我想要一个正则表达式来检查:

密码至少包含八个字符,包括至少一个数字,并包括小写和大写字母以及特殊字符,例如 , , 。#?!

它不能是您的旧密码或包含您的用户名,或"password""websitename"

这是我的验证表达式,适用于八个字符,包括一个大写字母,一个小写字母和一个数字或特殊字符。

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

我如何写密码必须是八个字符,包括一个大写字母,一个特殊字符和字母数字字符


答案 1

至少八个字符,至少一个字母和一个数字:

"^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$"

至少八个字符,至少一个字母,一个数字和一个特殊字符:

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

至少八个字符,至少一个大写字母,一个小写字母和一个数字:

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$"

至少八个字符,至少一个大写字母,一个小写字母,一个数字和一个特殊字符:

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

最少 8 个字符,最多 10 个字符,至少一个大写字母、一个小写字母、一个数字和一个特殊字符:

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

答案 2

您可以将此正则表达式与多个前瞻断言(条件)一起使用

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

此正则表达式将强制执行以下规则:

  • 至少一个大写英文字母(?=.*?[A-Z])
  • 至少一个小写的英文字母,(?=.*?[a-z])
  • 至少一位数字,(?=.*?[0-9])
  • 至少一个特殊字符,(?=.*?[#?!@$%^&*-])
  • 长度至少为8个(带锚点).{8,}