学python的re模板,写了个文章发现没人看,所以总结出来经验,理论没人爱,实战的人心,那么既然没人喜欢理论就直接上实战,在实战中精炼理论.不多说直接先上代码
def password_level(password): weak = re.compile(r'^((\d+)|([A-Za-z]+)|(\W+))$') level_weak = weak.match(password) level_middle = re.match(r'([0-9]+(\W+|\_+|[A-Za-z]+))+|([A-Za-z]+(\W+|\_+|\d+))+|((\W+|\_+)+(\d+|\w+))+',password) level_strong = re.match(r'(\w+|\W+)+',password) if level_weak: print 'password level is weak',level_weak.group() else: if (level_middle and len(level_middle.group())==len(password)): print 'password level is middle',level_middle.group() else: if level_strong and len(level_strong.group())==len(password): print 'password level is strong',level_strong.group()
解释一下
弱密码:全是数字,符号,字母
中等密码:数字加上符号,数字加上字母,字母加上符号
强密码:三个混合.
我没有区分大小写,希望有兴趣的可以自己写写.问题出现在\w上因为\w等价与[A-Za-z0-9_]所以前期通过\W不能匹配到包含下滑线的字符串
我们来看看中等密码,数字加上符号或者字母或者_是一个组,字母加上符号或者下划线或者符号是一个组,符号或者下划线加上字母或者数字是一个组,我总觉得这个里面的代码好像不对但是通过测试又没发现什么不对的地方,就先用这个版本0.0.1吧
测试代码
if __name__ == '__main__': passwords = ('11','aa','LL','1a','1_','a_','a1','_1','*a','1a_','1a<') for pw in passwords: password_level(pw) '''----------------------output------------------------ #password level is weak 11 #password level is weak aa #password level is weak LL #password level is middle 1a #password level is middle 1_ #password level is middle a_ #password level is middle a1 #password level is middle _1 #password level is middle *a #password level is strong 1a_ #password level is strong 1a< '''
以上所述是小编给大家介绍的使用正则表达式判断密码强弱的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对站长技术网站的支持!
JSP 获取用户的真实IP两种实现方法详解 在JSP里,获取客户端的IP地址的方法是:r...
前提 复杂场景中有不少数据需要在多个不同页面间来回使用和修改。但是小程序页面...
如果你想了解React Navigation 5.x的基本的概念,可以查看我之前的发的一篇文章...
最近在做项目交互的时候,刚开始向后台传递数据返回 415 ,后来百度添加了 conte...
1.开发环境 vue 2.电脑系统 windows10专业版 3.在使用vue开发移动端的过程中,我...
Spring-boot 基于数据库的配置管理 好的配置管理 是部署的第一步。 配置管理 做...
如果大家去面Android客户端岗位,那么必问Java基础和Kotlin基础,所以,我打算花...
前言 命令模式,也称为动作或者事务模式,很多教材会用饭馆来举例。作为顾客的我...
接入阿里云RDS后,了解了其另外一个服务,DAS自治服务,墙裂推荐。。。 1:自治...
% Function Comma(str) If Not(IsNumeric(str)) Or str = 0 Then Result = 0 Els...