/**
* 身份证
*/
private static final String ID_CARD_PATTERN = "\\d{17}[0-9xX]";
/**
* 军官证 军+7位数字
*/
private static final String MILITARY_OFFICER_PATTERN = "^(?:军)\\d{7}";
/**
* 护照 字母加数字9位
*/
public static final String PASSPORT_PATTERN = "^[A-Za-z0-9]{9}$";
/**
* 邮箱
*/
public static final String EMAIL_PATTERN = "^([a-z0-9A-Z]+[-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$";
/**
* 邮编
*/
public static final String POSTAL_CODE_PATTERN = "[1-9]\\d{5}";
/**
* 手机号
*/
public static final String PHONE_NUMBER_PATTERN = "^(13|14|15|16|17|18|19)[0-9]{9}$";
/**
* 企业号
*/
public static final String ORGAN_NUMBER_PATTERN = "^.{1,30}$";
/**
* 系统标识 字母加数字15位
*/
public static final String SYSTEM_FLAG = "^(?=.*[0-9])(?=.*[a-zA-Z])(.{5,15})$";
/**
* 根据正则表达式,对值进行验证
* @param reg 表达式
* @param value 待验证的值
* @return true-成功;false-失败
*/
public static boolean check(String reg, String value) {
if (null == reg || null == value) {
return false;
}
return Pattern.matches(reg, value);
}
/**
* IP地址校验
* @param ipAddress
* @return boolean
*/
public static boolean isIpv4(String ipAddress) {
String ip = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
+"(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+"(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+"(00?\\d|1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";
return check(ip, ipAddress);
}
/**
* 邮箱校验
* @param email
* @return boolean
*/
public static boolean isEmail(String email) {
/**
* @之前必须有内容且只能是字母(大小写)、数字、下划线(_)、减号(-)、点(.)
* @和最后一个.之间必须有内容且只能是字母(大小写)、数字、点(.)、减号(-),且两个点不能挨着
* 最后一个.之后必须有内容且内容只能是字母(大小写)、数字且长度为大于等于2个字节,小于等于6个字节`
*/
String reg = "^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+(\\.[a-zA-Z0-9-]+)*\\.[a-zA-Z0-9]{2,6}$";
return check(reg, email);
}
/**
* 手机号校验
* @param mobile
* @return boolean
*/
public static boolean isMobile(String mobile) {
/**
* reg 表示以1开头,第二位可能是3/4/5/6/7/8/9等的任意一个,在加上后面的\d表示数字[0-9]的9位,总共加起来11位结束
*/
String reg = "^1(3|4|5|6|7|8|9)\\d{9}$";
return check(reg, mobile);
}