正则表达式工具类

正则表达验证手机号、邮箱、验证码

RegexUtils

java 复制代码
import cn.hutool.core.util.StrUtil;

/**
 * @author wjh
 */
public class RegexUtils {
    /**
     * 是否是无效手机格式
     * @param phone 要校验的手机号
     * @return true:符合,false:不符合
     */
    public static boolean isPhoneInvalid(String phone){
        return mismatch(phone, RegexPatterns.PHONE_REGEX);
    }
    /**
     * 是否是无效邮箱格式
     * @param email 要校验的邮箱
     * @return true:符合,false:不符合
     */
    public static boolean isEmailInvalid(String email){
        return mismatch(email, RegexPatterns.EMAIL_REGEX);
    }

    /**
     * 是否是无效验证码格式
     * @param code 要校验的验证码
     * @return true:符合,false:不符合
     */
    public static boolean isCodeInvalid(String code){
        return mismatch(code, RegexPatterns.VERIFY_CODE_REGEX);
    }

    // 校验是否不符合正则格式
    private static boolean mismatch(String str, String regex){
        if (StrUtil.isBlank(str)) {
            return true;
        }
        return !str.matches(regex);
    }
}

正则表达式格式

RegexPatterns

java 复制代码
/**
 * @author wjh
 */
public abstract class RegexPatterns {
    /**
     * 手机号正则
     */
    public static final String PHONE_REGEX = "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$";
    /**
     * 邮箱正则
     */
    public static final String EMAIL_REGEX = "^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$";
    /**
     * 密码正则。4~32位的字母、数字、下划线
     */
    public static final String PASSWORD_REGEX = "^\\w{4,32}$";
    /**
     * 验证码正则, 6位数字或字母
     */
    public static final String VERIFY_CODE_REGEX = "^[a-zA-Z\\d]{6}$";

}
相关推荐
薪火铺子16 小时前
Redis 分布式锁与 Redisson 原理深度解析
java·redis·分布式·后端
胡楚昊16 小时前
BUU WEB之旅(1)
java·数据库·mybatis
kels889916 小时前
2026 年黄金实时价格数据 API 接口实测推荐
开发语言·笔记·python·金融·区块链
牢七16 小时前
链条合集整理
java·开发语言
小雅痞16 小时前
[Java][Leetcode hard] 30. 串联所有单词的子串
java·leetcode
叼烟扛炮16 小时前
C++ 知识点06 inline
开发语言·c++·inline
曹牧17 小时前
C#:同一项目中维护多个版本的代码
开发语言·c#
钝挫力PROGRAMER17 小时前
static final 指向可变集合的设计模式
java·设计模式
青山师17 小时前
Java反射深度解析:运行时探查的艺术、代价与工程实践
java·开发语言·面试·反射·java程序员·java核心
安当加密17 小时前
Spring Boot应用接入国产安当凭据管理系统SMS Starter实战(附源码)
java·spring boot·后端