强口令检测:
写一个函数,它使用正则表达式,确保传入的口令字符串是强口令。强口令的定义是:长度不少于8 个字符,同时包含大写和小写字符,至少有一位数字。你可能需要用多个正则表达式来测试该字符串,以保证它的强度。
思路
因为字符串需要同时满足多个正则表达式,所以考虑将多个表达式放入列表中,使用正则匹配时对列表进行遍历,一个条件不满足即为非法字符串。
代码
import re
def strongPwd(Password):
regexList = [r'[a-zA-Z0-9]{8,}', r'[a-z]+', r'[A-Z]+', r'[0-9]+']
for i in regexList:
pwdRegex = re.compile(i).search(Password)
if pwdRegex is None:
print("密码: %s 格式错误" % Password)
return
print("密码格式正确。")
Password = input("请输入密码:")
strongPwd(Password)