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 配合正则表达式可以校验字符,符合预期

相关推荐
写代码写到手抽筋2 小时前
5G上行DCI字段判定:端口 流数 PMI选择详解
java·算法·5g
xieliyu.2 小时前
Java算法精讲:双指针(二)
java·开发语言·算法
jeffer_liu3 小时前
Spring AI 生产级实战:裁判员
java·人工智能·后端·spring·大模型
小bo波4 小时前
枚举实战
java·设计模式·枚举·后端开发·代码重构
夜微凉44 小时前
三、Spring
java·后端·spring
橘右今4 小时前
2026 Java后端高频面试宝典
java·开发语言·面试
xyzzklk5 小时前
解决Salesforce无法向外发送邮件
android·java·开发语言·网络·crm·salesforce·客户关系管理
biubiubiu07065 小时前
SpringBoot关于外部化配置
java·spring boot·spring
zzz_23685 小时前
【Spring】面试突击系列(二):SpringBoot 入门与自动配置原理
java·spring boot·spring