import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StrValidate {
// 纯数字
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-Zu4e00-u9fa5]+$";
public static boolean isLetterDigit(String str) {
return str.matches(LETTER_DIGIT_REGEX);
}
public static boolean isChinese(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 boolean isLetterDigitOrChinese(String str) {
return str.matches(CHINESE_LETTER_DIGIT_REGEX);
}
public static boolean checkChineseLetter(String passengerName) {
Pattern pattern = Pattern.compile(CHINESE_LETTER_REGEX);
Matcher matcher = pattern.matcher(passengerName);
if (matcher.matches()) {
//不包含特殊字符
return true;
} else {
//包含了特殊字符
return false;
}
}
public static boolean checkPunctuation(String ret) {
boolean b = false;
String tmp = ret;
// replaceAll里面的正则匹配可以清空字符串中的中英文标点符号,只保留数字、英文和中文。
tmp = tmp.replaceAll("\p{P}", "");
if (ret.length() != tmp.length()) {
b = true;
}
return b;
}
public static boolean isDigit(String ret) {
return ret.matches(DIGIT_REGEX);
}
public static boolean isLetter(String ret) {
return ret.matches(LETTER_REGEX);
}
public static boolean hasDigit(String ret) {
return ret.matches(CONTAIN_DIGIT_REGEX);
}
public static boolean hasLetter(String ret) {
return ret.matches(CONTAIN_LETTER_REGEX);
}
public static void main(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"));
}
}
java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字_灵思致远Leansmall的博客-CSDN博客_java判断字符串只包含数字字母
Java中判断某一字符串是否包含数字、字母和中文 - 楼兰胡杨 - 博客园



