强密码正则表达式验证


import re

def validate_password(password):
    # 至少8位,包含大小写字母、数字和特殊字符
    pattern = r'^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$'
    return re.match(pattern, password) is not None

# 测试示例
if __name__ == "__main__":
    test_passwords = [
        "Password123!",  # 合法
        "pass123",       # 缺少大写字母和特殊字符
        "PASSWORD123!",  # 缺少小写字母
        "Pass123",       # 缺少特殊字符
        "Pass123!"       # 长度不足8位
    ]
    
    for pwd in test_passwords:
        print(f"{pwd}: {validate_password(pwd)}")

1.实现了8位以上包含大小写字母、数字和特殊字符的强密码验证。
2.使用正则表达式分组匹配确保所有字符类型均存在。
3.提供测试用例验证不同场景的密码合法性。
4.支持直接运行测试,输出验证结果。
5.可扩展性强,可修改正则表达式调整密码策略。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐