import java.util.regex.Pattern;
/**
* @version 1.0.0
* @ClassName RegExUtil.java
* @Description 正则表达式
*/
public final class RegExUtil {
/**----------------------数字相关的正则表达式--------------*/
/**
* 非0的正整数
*/
public static final String POSITIVE_NONZERO_INTEGER_REG_EXPRESSION = "^[1-9]\\d*$";
/**----------------------字符串相关的正则表达式--------------*/
/**
* 汉字,不能包含非汉字的
*/
public static final String CHINESE_REG_EXPRESSION = "^[\\u4e00-\\u9fa5]{0,}$";
/**
* 英文和数字
*/
public static final String ENGLISH_NUMBER_REG_EXPRESSION = "^[A-Za-z0-9]+$";
/**
* 由数字和26个英文字母组成的字符串
*/
public static final String LETTER_NUMBER_REG_EXPRESSION = "^[A-Za-z0-9]+$";
/**
* 由数字、26个英文字母或者下划线组成的字符串
*/
public static final String LETTER_NUMBER_OR_UNDERLINE_REG_EXPRESSION = "^\\w+$";
/**
* 中文、英文、数字包括下划线
*/
public static final String CHINESE_LETTER_NUMBER_UNDERLINE_REG_EXPRESSION = "^[\\u4E00-\\u9FA5A-Za-z0-9_]+$";
/**
* 特殊字符
*/
public static final String SPECIAL_CHARACTER_REG_EXPRESSION = "[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]";
/**----------------------其他常用的正则表达式--------------*/
/**
* 手机号
*/
public static final String MOBILE_REG_EXPRESSION = "^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\\d{8}$";
/**
* 邮箱
*/
public static final String EMAIL_REG_EXPRESSION = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$";
/**
* 国内电话号码(0511-4405222、021-87888822):
*/
public static final String TELEPHONE_REG_EXPRESSION = "\\d{3}-\\d{8}|\\d{4}-\\d{7}";
/**
* 帐号是否合法(字母开头,允许5-16字符,允许字母数字下划线):
*/
public static final String ACCOUNT_REG_EXPRESSION = "^[a-zA-Z][a-zA-Z0-9_]{4,15}$";
/**
* 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):
*/
public static final String PASSWORD_REG_EXPRESSION = "^[a-zA-Z]\\w{5,17}$";
/**
* 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间):
*/
public static final String STRONG_PASSWORD_REG_EXPRESSION = "^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$";
/**
* 中国邮政编码: (中国邮政编码为6位数字)
*/
public static final String POST_CODE_REG_EXPRESSION = "[1-9]\\d{5}(?!\\d)";
private RegExUtil() {
}
/**
* 通用正则表达式校验
*
* @param value 待校验的值
* @param regex 正则表达式
* @return 布尔值,true有效,false无效
*/
public static boolean checkValueValid(String value, String regex) {
return Pattern.matches(regex, value);
}
}