要求:数字和英文字母的组合,必须至少含有一个大写英文字符,至少一小写英文字符,至少一个一个数字,不包含特殊字符,8-31位。
下面是我的正则校验
password: /(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9]{8,31}/
如果刚输入的字符满足既包含大小写英文字母,又包含数字,后面接特殊字符是检验成功的,但正常是不可以的。
比如字符串 hjHghdhgd45HGHJ45#$%^&*
,是检验成功的,但这样是错误的。
指点这个正则到底问题在哪
要求:数字和英文字母的组合,必须至少含有一个大写英文字符,至少一小写英文字符,至少一个一个数字,不包含特殊字符,8-31位。
下面是我的正则校验
password: /(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9]{8,31}/
如果刚输入的字符满足既包含大小写英文字母,又包含数字,后面接特殊字符是检验成功的,但正常是不可以的。
比如字符串 hjHghdhgd45HGHJ45#$%^&*
,是检验成功的,但这样是错误的。
指点这个正则到底问题在哪
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答942 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
因为你的字符串存在符合配置的内容, 而又没有做起始结束限制. 加上
^$
就好了./^(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[a-zA-Z0-9]{8,31}$/