正则表达式 不等于_Python编程快速上手让繁琐工作自动化-正则表达式之强口令检测...

cd75d0a59a439970c71e89ebb17ed6a6.png

需求描述

写一个函数,它使用正则表达式,确保传入的口令字符串是强口令。强口令的定义是:长度不少于8个字符,同时包含大写和小写字符,至少有一位数字。你可能需要用多个正则表达式来测试该字符串,以保证它的强度。

需求分析

可以利用4个正则表达式是否可以匹配到密码中是否包含大写、小写、数字以及整个密码字符串的重复次数。如果4个条件全都符合,那么就符合要求,否则不符合,重新输入。

代码展示

import re,sys

#正则

upperRegex = re.compile(r'[A-Z]+')

lowerRegex = re.compile(r'[a-z]+')

numRegex = re.compile(r'd+')

lenRegex = re.compile(r'[wd]{8,}')

def stringPasscheck():

while True:

print('请输入一个密码,密码的要求长度大于等于8位,必须包含大小写字母和最少一个数字。')

inputPass = input('请输入密码(q:退出):')

if inputPass != 'q':

if upperRegex.search(inputPass) and lowerRegex.search(inputPass) and numRegex.search(inputPass) and lenRegex.search(inputPass):

print('密码符合强度要求。')

sys.exit(0)

else:

print('密码符合不强度要求,请重试。')

else:

break

if __name__ == '__main__':

stringPasscheck()

c92dbc4ef14a4b3e45b15b574361d619.png

执行结果

f3989309a37882ee362444a9362aca92.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值