对输入的密码要求如下:
1.密码位数在8-16之间
2.必须含有至少一个“$","#","@"符号当中的一个
3.至少有一个数字
4.至少两个大写字母
5.至少两个小写字母
6.不接受a-z,A-Z,0-9,$#@之外的任何符号
第一个很简单,到第二个我就不会了,因为现在对于isdigit,isalpha的用法还不是很熟悉,而且后面的字母要两个以上,希望大神们可以帮忙解决下
import re #正则表达式
def main(pwd):
if len(pwd)<8 or len(pwd)>16:
print("长度不对")
return False
else:
if re.search(r'[$#@]{1,}', pwd):
if re.search(r'[0-9]{1,}', pwd):
if re.search(r'[A-Z]{2,}', pwd) and re.search(r'[a-z]{2,}', pwd):
if not re.search(r'[^A-Za-z0-9$#@]', pwd):
print("密码合格")
return True
else:
print("不能有其他非法字符")
else:
print("请至少含有2个大写/小写数字")
else:
print("请至少含有一个数字")
else:
print("请至少包含$#@任意一个字符")
return False
if __name__ == "__main__":
pwd = "123"
result = main(pwd)
print(pwd,"\t",result,"\n----\n")
pwd = "128CChina"
result = main(pwd)
print(pwd,"\t",result,"\n----\n")
pwd = "12345678@China"
result = main(pwd)
print(pwd,"\t",result,"\n----\n")
pwd = "12345@CChina"
result = main(pwd)
print(pwd,"\t",result,"\n----\n")
pwd = "128@CChina.."
result = main(pwd)
print(pwd,"\t",result,"\n----\n")
你是要得到一个这样要求的密码还是检查输入的密码符不符合要求?