在用戶注冊與修改、重置密碼時,強制密碼達到一定的復雜度,是減少盜號的有效措施之一。
而在代碼中檢查密碼復雜度就需要用到正則表達式,比如要求密碼必須包含數字、小寫或大寫字母、特殊字符、字符數在8-30之間,對應的正則表達式如下:
var regex = new Regex(@" (?=.*[0-9]) #必須包含數字 (?=.*[a-zA-Z]) #必須包含小寫或大寫字母 (?=([\x21-\x7e]+)[^a-zA-Z0-9]) #必須包含特殊符號 .{8,30} #至少8個字符,最多30個字符 ", RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);
如果要求必須包含小寫、大寫字母,則上面的 (?=.*[a-zA-Z]) 要改為:
(?=.*[a-z])
(?=.*[A-Z])
相關博問:匹配鍵盤上所有特殊字符的正則表達式如何寫