Python密码校验实现:判断字符串是否仅包含指定字符的方法
Python密码校验功能实现
实现思路
我们分两步完成校验:
- 第一步校验密码长度:此处默认采用通用的6-16位要求,你可以根据实际需求修改长度阈值
- 第二步逐个校验每个字符是否属于允许范围:允许的字符包括大小写英文字母、数字、
+、-、*、/四个特殊字符,只要有一个字符不符合要求就判定密码无效
完整实现代码
pwd = "abc" # 可自定义密码长度要求 MIN_LENGTH = 6 MAX_LENGTH = 16 # 允许的特殊字符集合 ALLOWED_SPECIAL_CHARS = "+-*/" def is_valid(): validity = True # 第一步:校验长度是否符合要求 if len(pwd) < MIN_LENGTH or len(pwd) > MAX_LENGTH: validity = False else: # 第二步:逐个校验每个字符是否合法 for char in pwd: # 判断字符是否是大小写字母、数字、允许的特殊字符 if not (char.isupper() or char.islower() or char.isdigit() or char in ALLOWED_SPECIAL_CHARS): validity = False # 发现非法字符直接终止遍历 break return validity print(is_valid())
调整说明
- 你可以修改
MIN_LENGTH和MAX_LENGTH的数值来适配你自己的长度要求 - 如果需要增减允许的特殊字符,直接修改
ALLOWED_SPECIAL_CHARS的字符串内容即可 - 遍历过程中只要发现非法字符就会直接终止循环,不需要遍历完整个字符串,性能更好
内容的提问来源于stack exchange,提问作者Kimimaro
相关产品推荐
相关产品推荐

