客戶系統(tǒng)升級(jí),要求用戶密碼符合一定的規(guī)則,即:包含大小寫字母、數(shù)字、符號(hào),長(zhǎng)度不小于8,于是先用python寫了個(gè)簡(jiǎn)單的測(cè)試程序:
#encoding=utf-8#-------------------------------------------------------------------------------# Name: 模塊1# Purpose:## Author: Administrator## Created: 10-06-2014# Copyright: (c) Administrator 2014# Licence: <your licence>#-------------------------------------------------------------------------------import redef checklen(pwd): return len(pwd)>=8def checkContainUpper(pwd): pattern = re.compile('[A-Z]+') match = pattern.findall(pwd) if match: return True else: return Falsedef checkContainNum(pwd): pattern = re.compile('[0-9]+') match = pattern.findall(pwd) if match: return True else: return Falsedef checkContainLower(pwd): pattern = re.compile('[a-z]+') match = pattern.findall(pwd) if match: return True else: return Falsedef checkSymbol(pwd): pattern = re.compile('([^a-z0-9A-Z])+') match = pattern.findall(pwd) if match: return True else: return Falsedef checkPassWord(pwd): #判斷密碼長(zhǎng)度是否合法 lenOK=checklen(pwd) #判斷是否包含大寫字母 upperOK=checkContainUpper(pwd) #判斷是否包含小寫字母 lowerOK=checkContainLower(pwd) #判斷是否包含數(shù)字 numOK=checkContainNum(pwd) #判斷是否包含符號(hào) 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('檢測(cè)通過(guò)') else: print('檢測(cè)未通過(guò)')if __name__ == '__main__': main()
平時(shí)用正則不多,不知道怎么寫一個(gè)正則滿足要求,用了比較笨的辦法,誰(shuí)知道一句正則檢驗(yàn)的請(qǐng)賜教!
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注