客戶系統升級,要求用戶密碼符合一定的規則,即:包含大小寫字母、數字、符號,長度不小於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()
平時用正則不多,不知道怎么寫一個正則滿足要求,用了比較笨的辦法,誰知道一句正則檢驗的請賜教!
