importjava.util.regex.Matcher;importjava.util.regex.Pattern;public classStrValidate {//純數字
private static String DIGIT_REGEX = "[0-9]+";//含有數字
private static String CONTAIN_DIGIT_REGEX = ".*[0-9].*";//純字母
private static String LETTER_REGEX = "[a-zA-Z]+";//包含字母
private static String CONTAIN_LETTER_REGEX = ".*[a-zA-z].*";//純中文
private static String CHINESE_REGEX = "[\u4e00-\u9fa5]";//僅僅包含字母和數字
private static String LETTER_DIGIT_REGEX = "^[a-z0-9A-Z]+$";private static String CHINESE_LETTER_REGEX = "([\u4e00-\u9fa5]+|[a-zA-Z]+)";private static String CHINESE_LETTER_DIGIT_REGEX = "^[a-z0-9A-Z\u4e00-\u9fa5]+$";
public static booleanisLetterDigit(String str) {returnstr.matches(LETTER_DIGIT_REGEX);
}
public static booleanisChinese(String con) {
Pattern pattern=Pattern.compile(CHINESE_REGEX);for (int i = 0; i < con.length(); i = i + 1) {if (!pattern.matcher(
String.valueOf(con.charAt(i))).find()) {return false;
}
}return true;
}
public static booleanisLetterDigitOrChinese(String str) {returnstr.matches(CHINESE_LETTER_DIGIT_REGEX);
}
public static booleancheckChineseLetter(String passengerName) {
Pattern pattern=Pattern.compile(CHINESE_LETTER_REGEX);
Matcher matcher=pattern.matcher(passengerName);if(matcher.matches()) {//不包含特殊字元
return true;
}else{//包含了特殊字元
return false;
}
}
public static booleancheckPunctuation(String ret) {boolean b = false;
String tmp=ret;//replaceAll裡面的正則比對可以清空字元串中的中英文标點符号,隻保留數字、英文和中文。
tmp = tmp.replaceAll("\\p{P}", "");if (ret.length() !=tmp.length()) {
b= true;
}returnb;
}public static booleanisDigit(String ret) {returnret.matches(DIGIT_REGEX);
}public static booleanisLetter(String ret) {returnret.matches(LETTER_REGEX);
}public static booleanhasDigit(String ret) {returnret.matches(CONTAIN_DIGIT_REGEX);
}public static booleanhasLetter(String ret) {returnret.matches(CONTAIN_LETTER_REGEX);
}public static voidmain(String[] args) {//System.out.println(isLetterDigitOrChinese("33dd33") + " ------- 麥迪娜·買買提 ---------");//System.out.println(isChinese("麥迪娜·買買提"));//System.out.println(isChinese("這個X") + " checkChineseLetter ");//System.out.println(isChinese("checkChineseLetter"));//System.out.println(isChinese("checkChineseLetter3"));System.out.println(hasDigit("99999"));
System.out.println(hasDigit("9999舅舅9"));
}
}