需求:写一个函数,它使用正则表达式,确保传入的口令字符串是强口令。强口令的定义是:长度不少于 8 个字符,同时包含大写和小写字符,至少有一位数字。你可能需要用多个正则表达式来测试该字符串,以保证它的强度。
import re
order = str(input('Enter a password:'))
text1 = re.compile(r'.{8,}')
text2 = re.compile(r'[a-zA-Z]')
text3 = re.compile(r'[0-9]+')
def orderRegex(order):
if text1.search(order) and text2.search(order) and text3.search(order):
print('Your password is strong enough.')
else:
print('Please reset your password.')
orderRegex(order)
思路解析:
1,用import re导入正则表达式模块。
2,用re.compile()函数创建三个Regex模式对象text1、text2、text3分别匹配:
a:text1匹配长度大于8个字符;
b:text2匹配大小写字符;
c:text3匹配至少一位数字。
3,定义函数:如果向三个Regex对象的search()方法传入要查找的字符串同时满足,则密码满足强口令,否则重设密码。
网友评论