强口令检测
题目:
写一个函数,它使用正则表达式,确保传入的口令字符串是强口令。强口令的定义是:长度不少于 8 个字符,同时包含大写和小写字符,至少有一位数字。你可能需要用多个正则表达式来测试该字符串,以保证它的强度。
思路:
只需要检测口令中是否出现大小写字符和数字即可,使用search方法,如果所有返回值都是True则满足强口令的条件。
代码:
import re
text=str(input("请输入一串口令:"))
def checkpw(text):
flag = True
if len(text)<8:
flag = False
chpw1 = re.compile(r'[a-z]').search(text)
chpw2 = re.compile(r'[A-Z]').search(text)
chpw3 = re.compile(r'[0-9]+').search(text)
if (chpw1 == None) or (chpw2 == None) or (chpw3 == None):
flag=False
if flag==True:
print('口令正确。')
else:
print('口令错误。')
checkpw(text)