分享

用python验证用户密码是否规范

 算法与编程之美 2024-05-16 发布于四川

问题

编写代码验证密码是否满足以下条件:长度位于[6,20]之间,必须包含至少一个大写字母,一个小写字母,一个数字和一个特殊字符,最终返回True或False,并写明不符合的原因。

方法

借助于正则表达式检验密码是否规范,需先导入python中的re模块,re.findall(r"[a-z]", password)则表示在password中必须搜索到小写字母,其他检测以此类推,而特殊字符的检测需要表示为re.findall(r"[^0-9A-Za-z]", password),添加一个'^’表示除0-9A-Za-z以外的字符。

代码清单1

import re

def check_password(password):

   if not 6 <= len(password) <= 20:

       return False, "密码必须在6~20之间"

   if not re.findall(r"[a-z]", password):

       return False, "必须包含至少一个小写字母"

   if not re.findall(r"[A-Z]", password):

       return False, "必须包含至少一个大写字母"

   if not re.findall(r"[0-9]", password):

       return False, "必须包含至少一个数字"

   if not re.findall(r"[^0-9A-Za-z]", password):

       return False, "必须包含至少一个特殊字符"

   return True, None

print("Helloworld*678", check_password("Helloworld*678"))

print("Helloworld#", check_password("Helloworld#"))

print("helloworld#678", check_password("helloworld#678"))

print("Helloworld678", check_password("Helloworld678"))

结语

针对验证密码格式是否规范的问题,提出导入re模块对相关条件依次进行检验的方法,通过此次实验,证明该方法是有效的。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多