Java判斷密碼字串String的合法性:檢測密碼的合法性
阿新 • • 發佈:2019-02-09
import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 康小岱 * 檢測密碼的合法性 * 規則說明: * 1.密碼不能含有空格字串 * 2.密碼只能包括字母和數字 * */ public class e { public static void main(String[] args) { String password = "我"; if (true == isValid(password)) { System.out.println("合法密碼格式"); } else { System.out.println("不合法密碼格式"); } } public static boolean isValid(String password) { if (password.length() > 0) { //判斷是否有空格字串 for (int t = 0; t < password.length(); t++) { String b = password.substring(t, t + 1); if (b.equals(" ")) { System.out.println("有空字串"); return false; } } //判斷是否有漢字 int count = 0; String regEx = "[\\u4e00-\\u9fa5]"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(password); while (m.find()) { for (int i = 0; i <= m.groupCount(); i++) { count = count + 1; } } if(count>0){ System.out.println("有漢字"); return false; } //判斷是否是字母和數字 int numberCounter = 0; for (int i = 0; i < password.length(); i++) { char c = password.charAt(i); if (!Character.isLetterOrDigit(c)) { return false; } if (Character.isDigit(c)) { numberCounter++; } } } else { return false; } return true; } }