我想要一个正则表达式来检查这个问题。
一个密码至少包含8个字符,包括至少一个数字,并且包括小写和大写字母以及特殊字符,例如#
,?
,!
。
它不能是你的旧密码或包含你的用户名,"password"
,或"websitename"
。
这里是我的验证表达式,包括一个大写字母、一个小写字母和一个数字或特殊字符的八个字符。
(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"
我怎样才能把它写成密码必须是八个字符,包括一个大写字母、一个特殊字符和字母数字字符?
至少八个字符,至少一个字母和一个数字。
"^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$"
最少8个字符,至少一个字母、一个数字和一个特殊字符。
"^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$"
最少八个字符,至少一个大写字母,一个小写字母和一个数字。
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$"
最少8个字符,至少一个大写字母、一个小写字母、一个数字和一个特殊字符。
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$"
最少8个字符,最多10个字符,至少有一个大写字母、一个小写字母、一个数字和一个特殊字符。
"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,10}$"
你可以在多个lookahead assertions (conditions)中使用这个regex。
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$
这个铰链将执行这些规则。
(?=.*?[A-Z])
。(?=.*?[a-z])
。(?=.*?[0-9])
。(?=.*?[#?!@$%^&*-])
。.{8,}
(含锚)。只是对@anubhava'的回答做了一点改进。由于特殊字符只限于键盘上的那些,所以对任何特殊字符都要使用这个。
^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\d]){1,})(?=(.*[\W]){1,})(?!.*\s).{8,}$
这个词组将执行这些规则。