我正在尝试根据以下条件验证输入的密码
1.应至少包含2个大写字母
2.应至少包含2个小写字母
3. 字符串的最小长度必须为 6
4.应至少包含2位数字
5.应至少包含1个特殊字符
6.总密码长度必须为10
我试图创建一个类似的模式
import re
res=re.match(r'[[A-Z{2,}][a-z{2,}][0-9{2,}][/s]+]{10}',"AaBb69%#Ag")
print res
但它返回无。请帮助我。!!!!!!
您想要做的事情不能用单个正则表达式完成。您需要为每个约束匹配不同的正则表达式,并且密码只有在每个约束都匹配时才有效。
对于至少两个大写字符的约束,将两个大写字符与中间的任何字符匹配: r'[A-Z].*[A-Z]'
对于小写: r'[a-z].*[a-z]'
对于数字: r'[0-9].*[0-9]'
对于至少一个特殊字符:r'[!@#$%^&*()-_=+]'
,其中括号包含您允许的特殊字符。
对于长度,最小值为 6,最大值为 10: r'^.{6,10}$'
虽然您可以使用正则表达式做到这一点,但您可能会发现在普通 Python 中简单地编写没有它们的约束会更容易。以长度为例,你可以这样做
if 6 <= len(password) and len(password) <= 10:
而不是使用正则表达式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句