密码的正则表达式

需求:
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]) # 或者必须包含字母和非字母(包括:字母数字,字母符号,字母数字符号)

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