Python 实现密码规则验证(正则表达式)

本文主要介绍Python中,使用正则表达式判断密码字符串是否满足指定规则要求的方法,以及相关实现的示例代码。

1、正则表达式

参考文档:

Python 正则表达式(RegEx)

Python 正则表达式(RegEx)介绍及导入使用示例

Python 正则表达式 Match 对象(Object)

Python 正则表达式 集合

Python 正则表达式 特殊字符

Python 正则表达式 元字符

Python re模块函数方法

密码规则常用正则表达式:

正则表达式

 

(?![A-Za-z]+$)

不包含纯的字母

(?![A-Z0-9]+$)

不包含纯的大写字母和数字的一种和两种组合

(?![a-z0-9]+$)

不包含纯的小写字母和数字的一种,两种组合

(?![a-z\\W]+$)

不包含纯的小写字母和特殊符号的一种,两种组合

(?![A-Z\\W]+$)

不包含纯的大写字母和特殊符号的一种,两种组合

(?![0-9\\W]+$)

不包含纯的数字和特殊符号的一种,两种组合

包含大写字母、小写字母、特殊符号、数字中的任意三项:

^(?![A-Za-z]+$)(?![A-Z0-9]+$)(?![a-z0-9]+$)(?![a-z\W]+$)(?![A-Z\W]+$)(?![0-9\W]+$)[a-zA-Z0-9\W]{8,16}$

2、使用正则表达式判断密码规则

import re
for i in range(5):
pwd = input("请输入密码:")
if len(pwd) <5 or len(pwd) >10:
print("密码长度必须 5-10之间")
elif re.match("^(?:(?=.[A-Z])(?=.[a-z])(?=.[0-9])).$",pwd)==None:
print("密码必须包含大小写字母和数字")
else:
print("密码符合要求")
break
else:
print("尝试输入密码超过5次")

推荐阅读
cjavapy编程之路首页