/**
* @Author charles.yao
* @Description 字符串判断工具类
* @Date 2024/10/29 14:22
*/
public class StrCheckUtils {
//纯汉字
private static final Pattern CHINESE_PATTERN = Pattern.compile("[\\u4e00-\\u9fa5]+");
//纯数字
private static final Pattern NUMBER_PATTERN = Pattern.compile("[0-9]+");
//包含数字
private static final Pattern CONTAIN_NUMBER_PATTERN = Pattern.compile(".*[0-9].*");
//纯字母
private static final Pattern LETTER_PATTERN = Pattern.compile("[a-zA-Z]+");
//包含字母
private static final Pattern CONTAIN_LETTER_PATTERN = Pattern.compile(".*[a-zA-z].*");
//特殊字符
private static final Pattern SPECIAL_CHARACTER_PATTERN = Pattern.compile("[[ _`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“'。,、?]|\\n|\\r|\\t]+");
//包含特殊字符
private static final Pattern CONTAIN_SPECIAL_CHARACTER_PATTERN = Pattern.compile(".*[[ _`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“'。,、?]|\\n|\\r|\\t].*");
//只有数字和字母
private static final Pattern NUMBER_LETTER_PATTERN = Pattern.compile("[0-9a-zA-z]+");
//包含数字和字母
private static final Pattern CONTAIN_NUMBER_LETTER_PATTERN = Pattern.compile(".*[0-9a-zA-z].*");
/**
* 是否纯汉字
*
* @param str
* @return
*/
public static boolean isChinese(String str) {
return CHINESE_PATTERN.matcher(str).matches();
}
/**
* 是否纯字母
*
* @param str
* @return
*/
public static boolean isNumber(String str) {
return NUMBER_PATTERN.matcher(str).matches();
}
/**
* 是否包含字母
*
* @param str
* @return
*/
public static boolean isContainNumber(String str) {
return CONTAIN_NUMBER_PATTERN.matcher(str).find();
}
/**
* 是否是纯字母-不区分大小写
*
* @param str
* @return
*/
public static boolean isLetter(String str) {
return LETTER_PATTERN.matcher(str).matches();
}
/**
* 是否包含字母-不区分大小写
*
* @param str
* @return
*/
public static boolean isContainLetter(String str) {
return CONTAIN_LETTER_PATTERN.matcher(str).find();
}
/**
* 是否是特殊字符
*
* @param str 参数
* @return boolean
*/
public static boolean isSpecialCharacter(String str) {
return SPECIAL_CHARACTER_PATTERN.matcher(str).matches();
}
/**
* 是否包含特殊字符
*
* @param str 参数
* @return boolean
*/
public static boolean isContainSpecialCharacter(String str) {
return CONTAIN_SPECIAL_CHARACTER_PATTERN.matcher(str).matches();
}
/**
* 是否只有数字和字母
* @param str
* @return
*/
public static boolean isNumberAndLetter(String str) {
return NUMBER_LETTER_PATTERN.matcher(str).matches();
}
/**
* 是否包含数字和字母
* @param str
* @return
*/
public static boolean isContainNumberAndLetter(String str) {
return CONTAIN_NUMBER_LETTER_PATTERN.matcher(str).find();
}
}```
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » Java正则表达式判断是否是汉字、字母、数字以及特殊字符工具类
发表评论 取消回复