java正則校驗必須包括字母、數字和字元(6-12位)
阿新 • • 發佈:2018-12-15
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")); }
輸出: