至少8位密码,包括大写、小写、数字、特殊字符中的三种即可

至少8位密码,包括大写、小写、数字、特殊字符中的三种即可

   正则表达式:^(?![A-Za-z]+$)(?![A-Z\\d]+$)(?![A-Z\\W_]+$)(?![a-z\\d]+$)(?![a-z\\W_]+$)(?![\\d\\W_]+$)\\S{8,}$

 

拆分解释:

              (1)^匹配开头

    (2)(?![A-Za-z]+$)匹配后面不全是(大写字母或小写字母或大小写组合)的情况,排除了(1)全是大写字母(2)全是小写字母(3)大小写组合的情况三种情况

    (3)(?![A-Z\\d]+$)同理,排除了(1)大写字母(2)数字(3)大写和数字组合

    (4)(?![A-Z\\W_]+$)同理,排除了(1)大写字母(2)特殊字符(因为\W中不包括_所以需要在\W后加上_,\\W中最前面的\是转义字符)(3)大写字母和特殊字符

    (5)(?![a-z\\d]+$)同理,排除了(1)小写字母(2)数字(3)小写字母和数字

    (6)(?![a-z\\W_]+$)同理,排除了(1)小写字母(2)特殊字符(3)小写字母和特殊字符

    (7)(?![\\d\\W_]+$)同理,排除了(1)数字(2)特殊字符(3)数字和特殊字符

               (8)\S 表示,非空白就匹配,\\S中最前面的\为转义字符(排除了(1)到(7)再匹配的所有就是至少三种以上的组合了)

               (9){8,} 表示8位以上

    (10)$匹配字符串结尾

你可能感兴趣的:(正则表达式)