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

时间:2013-12-14 18:00:41

标签: javascript regex

我正在尝试使用正则表达式来检查密码字段,我想要求至少一个大写字母,一个小写字母和一个数字。

我也想让用户使用特殊字符,但我不想要特殊字符。

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

2 个答案:

答案 0 :(得分:3)

如果您不想要特殊字符,则无需验证它。

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

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

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

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

答案 1 :(得分:0)

来自this page

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

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

(注意:你要确保测试一下。)