我正在尝试使用正则表达式来检查密码字段,我想要求至少一个大写字母,一个小写字母和一个数字。
我也想让用户使用特殊字符,但我不想要特殊字符。
这可能吗?如果可以,我应该使用什么正则表达式?
答案 0 :(得分:3)
如果您不想要特殊字符,则无需验证它。
此正则表达式应该:/^(?=.*[A-Z])(?=.*[a-z])(?=.*\d).*$/
请注意,此正则表达式无法正确验证不在a-zA-Z的默认ascii范围内的字符。因此,如果我的密码为åäöÅÄÖ1234
,则对于此正则表达式无效,即使有大写和小写字母。
如果需要,可能的解决方案是使用unicode属性重写。
答案 1 :(得分:0)
来自this page:
“密码匹配表达式。密码必须至少包含4个字符,不得超过8个字符,并且必须至少包含一个大写字母,一个小写字母和一个数字。”
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{4,8}$
(注意:你要确保测试一下。)