密碼的正則表達式

需求:
1、長度8~16位;
2、數字、字母、符號至少包含兩種。

 

((?=.*\d)(?=.*\D)|(?=.*[a-zA-Z])(?=.*[^a-zA-Z]))^.{8,16}$

解釋:
^.{8,16}$ # 密碼長度爲8~16位
((?=.*\d)(?=.*\D)|(?=.*[a-zA-Z])(?=.*[^a-zA-Z])) # 數字、字母、符號至少包含兩種。
數字、字母、字符至少包含兩種,可分爲4種情況:數字字母,數字符號,字母符號,數字字母符號
(?=.*\d)(?=.*\D) # 必須包含數字和非數字(包括:數字字母,數字符號,數字字母符號)
|(?=.*[a-zA-Z])(?=.*[^a-zA-Z]) # 或者必須包含字母和非字母(包括:字母數字,字母符號,字母數字符號)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章