客户系统升级,要求用户密码符合一定的规则,即:包含大小写字母、数字、符号,长度不小于8,于是先用python写了个简单的测试程序:

#encoding=utf-8

#-------------------------------------------------------------------------------
# Name: 模块1
# Purpose:
#
# Author: Administrator
#
# Created: 10-06-2014
# Copyright: (c) Administrator 2014
# Licence: <your licence>
#-------------------------------------------------------------------------------
import re def checklen(pwd):
return len(pwd)>=8 def checkContainUpper(pwd):
pattern = re.compile('[A-Z]+')
match = pattern.findall(pwd) if match:
return True
else:
return False def checkContainNum(pwd):
pattern = re.compile('[0-9]+')
match = pattern.findall(pwd)
if match:
return True
else:
return False def checkContainLower(pwd):
pattern = re.compile('[a-z]+')
match = pattern.findall(pwd) if match:
return True
else:
return False def checkSymbol(pwd):
pattern = re.compile('([^a-z0-9A-Z])+')
match = pattern.findall(pwd) if match:
return True
else:
return False def checkPassword(pwd): #判断密码长度是否合法
lenOK=checklen(pwd) #判断是否包含大写字母
upperOK=checkContainUpper(pwd) #判断是否包含小写字母
lowerOK=checkContainLower(pwd) #判断是否包含数字
numOK=checkContainNum(pwd) #判断是否包含符号
symbolOK=checkSymbol(pwd) print(lenOK)
print(upperOK)
print(lowerOK)
print(numOK)
print(symbolOK)
return (lenOK and upperOK and lowerOK and numOK and symbolOK) def main():
if checkPassword('Helloworld#123'):
print('检测通过')
else:
print('检测未通过') if __name__ == '__main__':
main()

平时用正则不多,不知道怎么写一个正则满足要求,用了比较笨的办法,谁知道一句正则检验的请赐教!

python正则检测密码合法性的更多相关文章

  1. JS正则检测密码强度

    今天遇到个需求,使用JS检测密码强度:密码长度最短为8,必须同时包含字母.数字.特殊符号. 代码如下: /*         * 检测密码复杂度         */         function ...

  2. Python基础-检测密码,一些网站会给密码强加一些规则。

    输入一个字符串,检测是否是合法的密码:1)密码必须包含8个字符2)密码只能包含英文字母和数字3)密码至少包含两个数字 首先我讲一下用到的方法 s为字符串 len(s) 求出字符串的长度. list(s ...

  3. Python实现Telnet自动连接检测密码

    最近在学习Python网络相关编程,这个代码实现了Telnet自动连接检测root用户密码,密码取自密码本,一个一个检测密码是否匹配,直到匹配成功,屏幕输出停止. Python内置了telnetlib ...

  4. python 正则,常用正则表达式大全

    Nginx访问日志匹配 re.compile #re.compile 规则解释,改规则必须从前面开始匹配一个一个写到后面,前面一个修改后面全部错误.特殊标准结束为符号为空或者双引号:  改符号开始 从 ...

  5. Python正则式的基本用法

    Python正则式的基本用法 1.1基本规则 1.2重复 1.2.1最小匹配与精确匹配 1.3前向界定与后向界定 1.4组的基本知识 2.re模块的基本函数 2.1使用compile加速 2.2 ma ...

  6. python 正则使用笔记

    python正则使用笔记 def remove_br(content): """去除两边换行符""" content = content.r ...

  7. Python正则处理多行日志一例

    正则表达式基础知识请参阅<正则表达式基础知识>,本文使用正则表达式来匹配多行日志并从中解析出相应的信息. 假设现在有这样的SQL日志: SELECT * FROM open_app WHE ...

  8. python 暴力破解密码脚本

    python 暴力破解密码脚本 以下,仅为个人测试代码,环境也是测试环境,暴力破解原理都是一样的, 假设要暴力破解登陆网站www.a.com 用户 testUser的密码, 首先,该网站登陆的验证要支 ...

  9. Python正则匹配字母大小写不敏感在读xml中的应用

    需要解决的问题:要匹配字符串,字符串中字母的大小写不确定,如何匹配? 问题出现之前是使用字符串比较的方式,比如要匹配'abc',则用语句: if s == 'abc':#s为需要匹配的字符串 prin ...

随机推荐

  1. Mysql正则匹配某列是否含有手机号

    SELECT COUNT(1) FROM t_user WHERE user_name REGEXP ".[1][35678][0-9]{9}."; 解释: 正则中 .的意思是所有 ...

  2. 机器学习之深入理解SVM

    在浏览本篇博客之前,最好先查看一下我写的还有一篇文章机器学习之初识SVM(点击可查阅哦).这样能够更好地为了结以下内容做铺垫! 支持向量机学习方法包括构建由简至繁的模型:线性可分支持向量机.线性支持向 ...

  3. Redis 实现队列http://igeekbar.com/igeekbar/post/436.htm

    场景说明: ·用于处理比较耗时的请求,例如批量发送邮件,如果直接在网页触发执行发送,程序会出现超时 ·高并发场景,当某个时刻请求瞬间增加时,可以把请求写入到队列,后台在去处理这些请求 ·抢购场景,先入 ...

  4. Mat类具体解释(二)

    Mat::~Mat Mat的析构函数. C++: Mat::~Mat() 析构函数调用Mat::release(). Mat::operator = 提供矩阵赋值操作. C++: Mat& M ...

  5. Zoning and LUN Masking

    In a SAN ( Storage Area Network ), if all the hosts are allowed to access all the drives in the SAN, ...

  6. windows服务管理TopShelf

    http://docs.topshelf-project.com/en/latest/index.html 我曾经把名称错为Topself

  7. 常用jQuery知识

    什么是jQuery jQuery is a fast, small, and feature-rich JavaScript library. It makes things like HTML do ...

  8. MapReduce任务参数调优(转)

    http://blog.javachen.com/2014/06/24/tuning-in-mapreduce/ 本文主要记录Hadoop 2.x版本中MapReduce参数调优,不涉及Yarn的调优 ...

  9. python pdfplumber用于pdf表格提取

    import pdfplumber with pdfplumber.open('test.pdf') as pdf: #page_count = len(pdf.pages()) p0 = pdf.p ...

  10. SpringMVC Controller配置方法有哪几种

    第一种 URL对应Bean 如果要使用此类配置方式,需要在XML中做如下样式配置 <!-- 表示将请求的URL和Bean名字映射--> <bean class="org.s ...