正則–強密碼校驗
@(正則表達式)[正則,強密碼校驗]
強口令檢測
寫一個函數,它使用正則表達式,確保傳入的口令字符串是強口令。強口令的定義是:長度不少於8 個字符,同時包含大寫和小寫字符,至少有一位數字。你可能需要用多個正則表達式來測試該字符串,以保證它的強度。
import re
def checkPassword(password):
passwordReg = re.compile(r'''
(?=^.{8,}$) # 八位數及以上
((?=.*\d+)) # 至少一位數字
(?![.\n]) # 沒有換行符
(?=.*[A-Z]) # 大寫任意個
(?=.*[a-z]).*$ # 小寫任意個
''', re.VERBOSE)
match = passwordReg.match(password)
return match is not None
print(checkPassword('A')) # False
print(checkPassword('a')) # False
print(checkPassword('1')) # False
print(checkPassword('Aa')) # False
print(checkPassword('A1')) # False
print(checkPassword('a1')) # False
print(checkPassword('Aa1')) # False
print(checkPassword('Aa12345')) # False
print(checkPassword('AaBbCcDd')) # False
print(checkPassword('ABCD1234')) # False
print(checkPassword('abcd1234')) # False
print(checkPassword('Aa123456')) # True