Javascript正则表达式,需要一个大写字母、一个小写字母和一个数字,并允许特殊

Javascript regex that requires one uppercase letter, one lowercase letter and one number, and allows special

本文关键字:一个 数字 许特殊 正则表达式 Javascript 大写字母 小写字      更新时间:2023-09-26

我正在尝试制作一个正则表达式来检查密码字段,我希望至少需要一个大写字母、一个小写字母和一个数字。

我也想允许用户使用特殊字符,但我不希望特殊字符成为一种要求。

这可能吗?如果可能,我应该使用什么正则表达式?

如果您不希望特殊字符成为要求,那么验证它是没有意义的。

此正则表达式应该执行:/^(?=.*[A-Z])(?=.*[a-z])(?=.*'d).*$/

请注意,对于不在a-zA-Z默认ascii范围内的字符,此正则表达式将无法正确验证。因此,如果我的密码是åäöÅÄÖ1234,它对这个正则表达式无效,即使有大写和小写字母。

如果需要的话,一个可能的解决方案是使用unicode属性进行重写。

演示:http://regex101.com/r/uO6jB5

从此页面:

"密码匹配表达式。密码必须至少包含4个字符,不超过8个字符,并且必须至少包含一个大写字母、一个小写字母和一个数字。"

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

(注意:您需要对此进行测试以确定。)