当前位置: 首页 > news >正文

Java使用 java.util.regex.Pattern 正则表达式校验参数值是否规范

场景:
        java中我们可以利用 @Pattern 注解对某个入参进行规则校验,但有些特殊参数在接口入口处不方便校验,需要在代码中校验

一、使用 @Pattern 注解校验

@Pattern(regexp = "^[a-zA-Z0-9]+$", message = "xxx号限输入字母、数字,不可输入特殊字符及空格!")
private String xxxNo;

前提:接口需要标记 @Validated 才会生效

二、使用 java.util.regex.Pattern 校验

示例正则表达式 ^[a-zA-Z0-9]+$ 限制只能输入大小写字母、和数字

1、输入特殊字符、空格等校验

        String testStr = "@123 abc&";String regex = "^[a-zA-Z0-9]+$";Matcher matcher = Pattern.compile(regex).matcher(testStr);if (!matcher.find()) {System.out.println("只能输入字母、数字,不可输入特殊字符及空格!");return;}System.out.println("校验通过!");

输出:

2、输入符合表达式的字符

        String testStr = "123abc";String regex = "^[a-zA-Z0-9]+$";Matcher matcher = Pattern.compile(regex).matcher(testStr);if (!matcher.find()) {System.out.println("只能输入字母、数字,不可输入特殊字符及空格!");return;}System.out.println("校验通过!");

输出:

小结:
从结果看,使用 java.util.regex.Pattern 配合正则表达式可以校验字符,符合预期

http://www.lryc.cn/news/95559.html

相关文章:

  • HDFS基本操作命令
  • git 实操
  • Visual Studio Code Python 扩展中的包管理
  • spring学习笔记九
  • java list stream 使用
  • 两个Ubuntu电脑用SSH远程连接
  • 讲解 @ServletComponentScan注解
  • 20款奔驰S350商务型加装原厂前排座椅通风系统,夏天必备的功能
  • Rust vs Go:常用语法对比(十一)
  • Spring MVC拦截器和跨域请求
  • C++初阶--C++入门
  • Matlab实现PID控制仿真(附上30个完整仿真源码+数据)
  • 微信小程序:文件下载
  • QString和QByteArray的区别
  • Vue3 Vite electron 开发桌面程序
  • 【Nodejs】Express模板使用
  • 【iOS】App仿写--管理系统
  • JS实现队列的数据结构
  • title: 用 LangChain 构建基于资料库的问答机器人(四):通过代理使用外部工具
  • 使用 CSS 自定义属性
  • Unity 性能优化一:性能标准、常用工具
  • 【http长连接+池化】
  • opencv-20 深入理解HSV 色彩空间(通过指定,标记颜色等来拓展ROI区域)
  • python调用arcgis功能一例
  • Spring MVC 是什么?
  • Rust操作MySQL
  • JAVA面试总结-Redis篇章(二)——缓存击穿
  • Spring相关知识点
  • Nginx专题--反向代理(未完成)
  • 什么是搜索引擎?2023 年搜索引擎如何运作?