強密碼正則驗證
老板要求完善下某內部系統登錄密碼的強度驗證,密碼長度7位以上,同時包含有大小寫字母、數字、符號。
這種復雜度驗證主要分成兩部分,第一部分需要驗證大小寫字母、數字、符號這4種類型,第二部分則是驗證長度。
驗證是否包含不同類型的內容,首先考慮正向預查,得出第一部分表達式:
/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[\W_])/
其中“\W”表示匹配任何非單詞字符,等價於[^A-Z a-z 0-9_],其中也排除了下划線,所以表達式中進行補充。
補充第二部分長度驗證得出表達式:
/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[\W_]).{7,}/