正则表达式工具类

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

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}$";

}
相关推荐
XQ丶YTY20 小时前
javaee程序设计 中南民族大学 复习
java·程序设计·javaee·期末·复习·速成·中南民族大学
水月wwww20 小时前
【算法分析】指派问题
java·开发语言·算法
2501_9418663720 小时前
面向接口限流与资源保护策略的互联网系统高并发设计与多语言工程实践分享
开发语言·python
JY.yuyu20 小时前
Windows Server用户,组管理和远程连接
java·服务器·前端
lang2015092820 小时前
Java信号量Semaphore:并发控制的利器
java·开发语言
lkbhua莱克瓦2421 小时前
进阶-索引4-使用规则
开发语言·数据库·笔记·sql·mysql·使用规则
人工智能训练21 小时前
冬日“冻”机无解?联想ThinkPad低温保护无法开机,双电池+BIOS放电终极攻略
java·服务器·ubuntu·docker·电脑·开机·电脑维修
自燃人~21 小时前
10 亿条数据排序:外部排序与 10 路归并完整说明
java·面试
我命由我1234521 小时前
Android 控件 - 悬浮常驻文本交互(IBinder 实现、BroadcastReceiver 实现)
android·java·java-ee·android studio·android jetpack·android-studio·android runtime