正则校验
@Pattern(regexp = "^(\\d{18,18}|\\d{15,15}|(\\d{17,17}[x|X]))$", message = "身份证格式错误")
@Pattern(regexp="^[1][3,4,5,7,8][0-9]{9}$",message="电话号码错误")
正则表达式
//正则表达式的构造摘要 - 字符类
// [abc] a、b 或 c(简单类)
// [^abc] 任何字符,除了 a、b 或 c(否定)
// [a-zA-Z] a 到 z 或 A 到 Z,两头的字母包括在内(范围)
// [a-zA-Z_0-9] a 到 z 或 A 到 Z,_,0到9(范围)
// [0-9] 0到9的字符都包括
// [a-d[m-p]] a 到 d 或 m 到 p:[a-dm-p](并集)
// [a-z&&[def]] d、e 或 f(交集)
// [a-z&&[^bc]] a 到 z,除了 b 和 c:[ad-z](减去)
// [a-z&&[^m-p]] a 到 z,而非 m 到 p:[a-lq-z](减去)
//正则表达式的构造摘要 -预定义字符类
// . 任何字符
// \d 数字:[0-9]
// \D 非数字: [^0-9]
// \s 空白字符:[ \t\n\x0B\f\r]
// \S 非空白字符:[^\s]
// \w 单词字符:[a-zA-Z_0-9]
// \W 非单词字符:[^\w]
//正则表达式的构造摘要 - 数量词
X? --> X,一次或一次也没有
X* --> X,零次或多次
X+ --> X,一次或多次
X{n} --> X,恰好 n 次
X{n,} --> X,至少 n 次
X{n,m} --> X,至少 n 次,但是不超过 m 次
常用注解校验
@NotBlank(message="字符串不为空")
@NotEmpty(message="集合不为空")
@NotNull(message="基本数据类型不为空")
@JsonFormat(timezone = "GMT+8",pattern = "yy-MM-dd HH:mm:ss")
@AssertTrue 被注释的元素必须为true
@AssertFalse 被注释的元素必须为false
@Min(value=x) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@Max(value=x) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@DecimalMin(value=x) 被注释的元素必须是一个数字,其值必须大于等于指定的最小值
@DecimalMax(value=x) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值
@Email 被注释的元素必须是电子邮件地址
@Past 被注释的元素必须是一个过去的日期
@Future 被注释的元素必须是一个将来的日期
@Pattern(regex=正则表达式, flag=) 被注释的元素必须符合指定的正则表达式。
@Size(min=最小值,max=最大值) 被注释的元素的大小必须在指定的范围内。
@Length(min=最小值, max=最大值) 被注释的字符串的大小必须在指定的范围
@Range(min=最小值, max=最大值) 被注释的元素必须在合适的范围内