我是靠谱客的博主 兴奋方盒,最近开发中收集的这篇文章主要介绍Python脚本, 验证用户密码是否规范,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

代码如下:

import re

def check_password(password):
    # 检查长度是否在6-20之间
    if not 6 <= len(password) <= 20:
        return False
    # 检查是否包含小写字母
    if not re.search(r'[a-z]',password):
        return False
    # 检查是否包含大写字母
    if not re.search(r'[A-Z]',password):
        return False
    # 检查是否包含数字
    if not re.search(r'[0-9]',password):
        return False
    # 检查是否包含特殊字符
    if not re.search(r'[!@#$%^&*()_+-=,.<>?]',password):
        return False
    return True

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

描述信息:

  1. 代码中我们定义了一个 check_password 函数,该函数接受一个参数 password,表示要验证的密码
  2. 首先判断密码长度是否在6-20之间,如果不是,直接返回False
  3. 使用正则表达式 re.search("[a-z]", password) 判断密码中是否包含小写字母,如果不包含,返回False
  4. 同理使用 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

描述信息:

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

最后

以上就是兴奋方盒为你收集整理的Python脚本, 验证用户密码是否规范的全部内容,希望文章能够帮你解决Python脚本, 验证用户密码是否规范所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部