国产TS紫迹丝袜高跟鞋在线,一区二区三区国产自产视频免费,67pao国产人成视频,午国产午夜激无码毛片不卡

愛碼網(wǎng)專注于資源免費下載

java正則校驗密碼

java正則校驗密碼必須是包含大小寫字母、數(shù)字、特殊符號的8位以上四種組合 或者 其中任意三種組合

一、排除法和詳細解釋

  1、排除大寫字母、小寫字母、數(shù)字、特殊符號中1種組合、2種組合、3種組合,那么就只剩下4種都包含的組合了

  2、表達式為:^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)[a-zA-Z0-9\\W]{8,}$

  3、拆分解釋:其中(2)-(6)運用了零寬斷言、環(huán)視等正則功能

   ?。?)^匹配開頭

   ?。?)(?![A-Za-z0-9]+$)匹配后面不全是(大寫字母或小寫字母或數(shù)字)的位置,排除了(大寫字母、小寫字母、數(shù)字)的1種2種3種組合

    (3)(?![a-z0-9\\W]+$)同理,排除了(小寫字母、數(shù)字、特殊符號)的1種2種3種組合

   ?。?)(?![A-Za-z\\W]+$)同理,排除了(大寫字母、小寫字母、特殊符號)的1種2種3種組合

    (5)(?![A-Z0-9\\W]+$)同理,排除了(大寫字母、數(shù)組、特殊符號)的1種2種3種組合

    (6)[a-zA-Z0-9\\W]匹配(小寫字母或大寫字母或數(shù)字或特殊符號)因為排除了上面的組合,所以就只剩下了4種都包含的組合了

   ?。?){8,}8位以上

   ?。?)$匹配字符串結(jié)尾

二、測試代碼

public class PasswordTest {
    // 密碼長度不少于8位且至少包含大寫字母、小寫字母、數(shù)字和特殊符號中的四種
    public static final String password1 = "^(?![A-Za-z0-9]+$)(?![a-z0-9\\W]+$)(?![A-Za-z\\W]+$)(?![A-Z0-9\\W]+$)[a-zA-Z0-9\\W]{8,}$";
    // 密碼長度8-20位且至少包含大寫字母、小寫字母、數(shù)字或特殊符號中的任意三種
    public static final String password = "^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\\W_]+$)(?![a-z0-9]+$)(?![a-z\\W_]+$)(?![0-9\\W_]+$)[a-zA-Z0-9\\W_]{8,20}$";
 
    public static void main(String[] args) {
        String password1 = "ABCDEFGHIG";  //全部大寫
        String password2 = "abcdefghig";  //全部小寫
        String password3 = "0123456789";  //全部數(shù)字
        String password4 = "!@#$%^&*()";  //全部特殊字符
        String password5 = "ABCDEabcde";  //大寫和小寫
        String password6 = "ABCDE01234";  //大寫和數(shù)字
        String password7 = "ABCDE!@#$%";  //大寫和特殊字符
        String password8 = "abcde01234";  //小寫和數(shù)字
        String password9 = "abcde!@#$%";  //小寫字母和特殊字符
        String password10 = "01234!@#$%"; //數(shù)字和特殊字符
        String password11 = "Aa4!";       //長度不夠8位數(shù)
        String password12 = "ABCDE01234!@#$%"; //符合要求密碼任意三種
        String password13 = "ABCDEabcde!@#$%"; //符合要求密碼任意三種
        String password14 = "ABCDEabcde01234"; //符合要求密碼任意三種
        String password15 = "abcde01234!@#$%"; //符合要求密碼任意三種
        String password16= "ABCabc012@#"; //符合要求密碼任意三種 和 符合全部的四種
 
        System.out.println(password1.matches(password) + " 1");
        System.out.println(password2.matches(password)+ " 2");
        System.out.println(password3.matches(password)+ " 3");
        System.out.println(password4.matches(password)+ " 4");
        System.out.println(password5.matches(password)+ " 5");
        System.out.println(password6.matches(password)+ " 6");
        System.out.println(password7.matches(password)+ " 7");
        System.out.println(password8.matches(password)+ " 8");
        System.out.println(password9.matches(password)+ " 9");
        System.out.println(password10.matches(password)+ " 10");
        System.out.println(password11.matches(password)+ " 11");
        System.out.println(password12.matches(password)+ " 12");
        System.out.println(password13.matches(password)+ " 13");
        System.out.println(password14.matches(password)+ " 14");
        System.out.println(password15.matches(password)+ " 15");
        System.out.println(password16.matches(password)+ " 16");
    }
}


原文:https://blog.csdn.net/qq_36961226/article/details/110429934


本文鏈接:http://fangxuan.com.cn/article/166.html

網(wǎng)友評論

熱門文章
隨機文章
熱門標簽
側(cè)欄廣告位