1. 程式人生 > >java正則校驗必須包括字母、數字和字元(6-12位)

java正則校驗必須包括字母、數字和字元(6-12位)

java正則校驗,必須包括字母數字字元

public static String checkPassword(String passwordStr) {
    if (passwordStr != null && !"".equals(passwordStr) && (passwordStr.length() < 6 || passwordStr.length() > 12)) {
        return "密碼為 6-12 位字母、數字或英文字元!";
    }

    // Z = 字母       S = 數字           T = 特殊字元
    String regexZ = "[A-Za-z]+";
    String regexS = "^\\d+$";
    String regexT = "[
[email protected]
#$%^&*.]+"; String regexZT = "[[email protected]#$%^&*.]+"; String regexZS = "[0-9A-Za-z]+"; String regexST = "[\\[email protected]#$%^&*.]*"; String regexZST = "[\\[email protected]#$%^&*.]+"; if (passwordStr.matches(regexZ)){ return "純字母,弱"; } if (passwordStr.matches(regexS)){ return "純數字,弱"; } if (passwordStr.matches(regexT)){ return "純字元,弱"; } if (passwordStr.matches(regexZT)){ return "字母字元,中"; } if (passwordStr.matches(regexZS)){ return "字母數字,中"; } if (passwordStr.matches(regexST)){ return "數字字元,中"; } if (passwordStr.matches(regexZST)) { return "強"; } return "不知道是啥"; }

測試:

public static void main(String[] args)
{
    System.out.println(checkPassword("qqqqqq"));
    System.out.println(checkPassword("111111"));
    System.out.println(checkPassword("......"));
    
    System.out.println(checkPassword("qqq..."));
    System.out.println(checkPassword("111qqq"));
    System.out.println(checkPassword("111..."));
    
    System.out.println(checkPassword("11qq.."));
    System.out.println(checkPassword("11..qq"));
    System.out.println(checkPassword("qq..11"));
    System.out.println(checkPassword("qq11.."));
    System.out.println(checkPassword("..11qq"));
    System.out.println(checkPassword("..qq11"));
}

輸出: