python使用正则表达式检测密码强度源码分享

时间:2022-06-26 15:54:42 


#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,正则
0
投稿

猜你喜欢

  • 通过不同的CSS设计字体大小来提高用户体验

    2008-12-10 19:17:00
  • Python3.5以上版本lxml导入etree报错的解决方案

    2021-06-25 12:53:16
  • 教你如何使用Python快速爬取需要的数据

    2022-04-14 16:14:50
  • Mysql的服务无法启动的1067错误解决

    2012-01-05 19:31:56
  • 对fieldset和legend的默认样式一点分析

    2008-07-02 12:56:00
  • 简单了解python列表和元组的区别

    2022-02-11 17:14:43
  • 基于insertBefore制作简单的循环插空效果

    2023-08-17 22:34:17
  • PyTorch搭建ANN实现时间序列风速预测

    2022-11-28 23:38:28
  • Python sklearn中的.fit与.predict的用法说明

    2023-01-03 23:54:25
  • python绘制双Y轴折线图以及单Y轴双变量柱状图的实例

    2023-06-02 00:29:11
  • uniapp页面跳转的五种方式总结

    2023-08-23 19:46:24
  • Flask框架单例模式实现方法详解

    2023-01-24 17:04:55
  • Python绘制简单散点图的方法

    2023-02-22 02:01:07
  • 再论Javascript下字符串连接的性能

    2010-06-26 13:13:00
  • Python字符串str超详细详解(适合新手!)

    2021-06-26 02:48:00
  • python opencv鼠标画点之cv2.drawMarker()函数

    2021-11-28 18:34:40
  • Python标准库与第三方库详解

    2021-12-16 04:23:03
  • 使用Python解决常见格式图像读取nii,dicom,mhd

    2021-11-14 23:36:59
  • Numpy对于NaN值的判断方法

    2022-12-15 15:08:21
  • 在Dreamweaver MX中应用“占位图形”

    2009-07-10 13:16:00
  • asp之家 网络编程 m.aspxhome.com