Validator自定义校验器正则参考
package com.example.common;
import org.springframework.util.StringUtils;
import java.util.regex.Pattern;
/**
* @Auther: 长颈鹿
* @Date: 2021/07/22/16:28
* @Description: 常用的一些验证,如手机、移动号码、联通号码、电信号码、密码、座机、 邮政编码、邮箱、年龄、身份证、URL、QQ、汉字、字母、数字等
*/
public class ValidateUtil {
/**
* 手机号规则
*/
public static final String MOBILE_PATTERN = "^((13[0-9])|(14[0-9])|(15[0-9])|(17[0-9])|(18[0-9]))(\\d{8})$";
/**
* 中国电信号码格式验证 手机段: 133,153,180,181,189,177,1700,173
**/
private static final String CHINA_TELECOM_PATTERN = "(?:^(?:\\+86)?1(?:33|53|7[37]|8[019])\\d{8}$)|(?:^(?:\\+86)?1700\\d{7}$)";
/**
* 中国联通号码格式验证 手机段:130,131,132,155,156,185,186,145,176,1707,1708,1709,175
**/
private static final String CHINA_UNICOM_PATTERN = "(?:^(?:\\+86)?1(?:3[0-2]|4[5]|5[56]|7[56]|8[56])\\d{8}$)|(?:^(?:\\+86)?170[7-9]\\d{7}$)";
/**
* 中国移动号码格式验证 手机段:134,135,136,137,138,139,150,151,152,157,158,159,182,183,184,187,188,147,178,1705
**/
private static final String CHINA_MOVE_PATTERN = "(?:^(?:\\+86)?1(?:3[4-9]|4[7]|5[0-27-9]|7[8]|8[2-478])\\d{8}$)|(?:^(?:\\+86)?1705\\d{7}$)";
/**
* 密码规则(6-16位字母、数字)
*/
public static final String PASSWORD_PATTERN = "^[0-9A-Za-z]{6,16}$";
/**
* 固号(座机)规则
*/
public static final String LANDLINE_PATTERN = "^(?:\\(\\d{3,4}\\)|\\d{3,4}-)?\\d{7,8}(?:-\\d{1,4})?$";
/**
* 邮政编码规则
*/
public static final String POSTCODE_PATTERN = "[1-9]\\d{5}";
/**
* 邮箱规则
*/
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,}$";
/**
* 年龄规则 1-120之间
*/
public static final String AGE_PATTERN = "^(?:[1-9][0-9]?|1[01][0-9]|120)$";
/**
* 身份证规则
*/
public static final String IDCARD_PATTERN = "^\\d{15}|\\d{18}$";
/**
* URL规则,http、www、ftp
*/
public static final String URL_PATTERN = "http(s)?://([\\w-]+\\.)+[\\w-]+(/[\\w- ./?%&=]*)?";
/**
* QQ规则
*/
public