我会回覆彼得·莫滕森(Peter Mortensen),但我的声誉不高。
他的表情非常适合每个指定的最低要求。他不需要特殊字符的表达式的问题在于它们也不允许特殊字符,因此它们也强制执行最高要求,我不认为OP会要求这样做。通常,您希望允许用户设置他们想要的密码。为什么限制强密码?
因此,他的“最少八个字符,至少一个字母和一个数字”的表达是:
^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$
达到最低要求,但其余字符只能是字母和数字。要允许(但不要求)特殊字符,应使用类似以下内容的字符:
^(?=.*[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).{8,}$
允许任何字符
要么
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d$@$!%*?&]{8,}
允许使用特定的特殊字符。