IT俱乐部 Python Python验证用户密码是否规范脚本示例

Python验证用户密码是否规范脚本示例

代码如下:

import re

def check_password(password):
    # 检查长度是否在6-20之间
    if not 6 ?]',password):
        return False
    return True

# 测试
password = "Abc123!@"
print(check_password(password)) # True
password = "abc"
print(check_password(password)) # False

描述信息:

  • 代码中我们定义了一个 check_password 函数,该函数接受一个参数 password,表示要验证的密码
  • 首先判断密码长度是否在6-20之间,如果不是,直接返回False
  • 使用正则表达式 re.search(“[a-z]”, password) 判断密码中是否包含小写字母,如果不包含,返回False
  • 同理使用 re.search(“[A-Z]”, password) 判断是否包含大写字母,使用 re.search(“[0-9]”, password) 判断是否包含数字, 如果不是,直接返回False

 当然, 你也可以使用 re.compile() 函数编译了一个正则表达式,代码如下:

import re

password_pattern = re.compile(r'^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*[!@#$%^&*()_+-=,.?])[A-Za-zd!@#$%^&*()_+-=,.?]{6,20}$')

# 测试
password = "Abc123!@"
print(bool(password_pattern.match(password))) # True
password = "abc"
print(bool(password_pattern.match(password))) # False

描述信息:

  • 正则表达式中我们使用了 (?=.[a-z]) 匹配至少一个小写字母, (?=.[A-Z]) 匹配至少一个大写字母, (?=.d) 匹配至少一个数字,(?=.[!@#$%^&()_+-=,.?]) 匹配至少一个特殊字符, [A-Za-zd!@#$%^&()_+-=,.?]{6,20}$ 匹配6-20位的字符串
  • 使用 .match()方法来匹配字符串,如果匹配成功返回一个match object,否则返回None

附要求:6位密码,含有数字、大小写字母,及~!@中的特殊符号

import re
 
while True:
    pwd = input('请输入您的密码:')
    r = '^(?=.*?d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@])[0-9a-zA-Z~!@]{6}$'
    result = re.match(r, pwd)
    if result is None:
        print('请输入正确的密码格式!')
        print('要求6位密码,含有数字、大小写字母,及~!@中的特殊符号!')
    else:
        break
 
print('成功设置密码!')
print(f'您的密码是:{pwd}')

(?=.*?d) 检查数字;(?=.*[a-z]) 检查小写英文字母;(?=.*[A-Z]) 检查大写英文字母;

测试:

    # 若不限制长度
    r = '^(?=.*?d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@]).*$'

总结 

到此这篇关于Python验证用户密码是否规范脚本的文章就介绍到这了,更多相关Python验证用户密码规范内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/code/python/11210.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部