利用正則表達式實現python強口令檢測


"""
Chapter 7 模式匹配和正則表達式
1 用import re 導入正則表達式模塊
2 用re.compile()函數創建一個Regex對象(記得使用原始字符串)
3 向Regex對象的search()方法傳入想查找的字符串,返回一個Match對象;或者findall()返回一組字符串,包含被查找字符串中所有的匹配
notes:
1 花括號的貪心和非貪心匹配,re.compile(r'(Ha){3,5}') 和 re.compile(r'(Ha){3,5}?')
"""
# excise1 口令強度檢測
#1> 長度大於8個字符
#2> 包含大寫和小寫字符
#3> 至少有1位數字
import  re

def passwdCheck(passwdstr):
    if len(passwdstr) < 8:
        return False

    regex1 = re.compile(r'[a-z]+')
    regex2 = re.compile(r'[A-Z]+')
    regex3 = re.compile(r'\d+')
    if regex1.search(passwdstr) == None:
        return False
    elif regex2.search(passwdstr) == None:
        return False
    elif regex3.search(passwdstr) == None:
        return False
    else:
        return True

if __name__ == '__main__':
    passstr = input("請輸入要設置的密碼:")

    count = 1
    while(count<3):
        if passwdCheck(passstr):
            print("密碼%s滿足要求,密碼設置成功!" % passstr)
            break
        else:
            print("密碼不滿足要求,至少8個字符且包含大小字母和數字,請重新輸入")
            passstr = input("請輸入要設置的密碼:")
        count += 1
    if count >=3:
        print("已經超過最大嘗試次數3次,程序退出!")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM