前言
项目开发中经常会遇到对用户输入内容的限制和校验,标识字段有严格命名限制,用户输入校验这部分工作前端可以做,当然后端也可以通过在实体类中添加注解的方式实现参数校验。其底层原理还是拦截器拦截请求,对带有相关注解的属性字段进行处理(非空、大小、长度、内容等判断和校验)。
import jakarta.validation.constraints.Pattern;
/**
* 用户名称
*/
@Pattern(regexp="^[\u4e00-\u9fa5_a-zA-Z0-9]+$",message="用户名称只能输入中文字符 字母、数字")
@ApiModelProperty(value = "用户名称")
private String name;
有时系统对用户名的命名有更多要求,比如用户名必须要有一个小写字母,一个大写字母和一个数字,并且是6-20位
@Pattern(regexp = "^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[A-Za-z0-9]{6,20}$", message = "用户名错误")
其他常用正则表达式
1.数字内容校验
整数或者小数:
"^[0-9]+\.{0,1}[0-9]{0,2}$"</