手机号码校验工具类(正则表达式)

手机号码有很多种方式,可以使用正则表达式,进行判断。网上有很多,不用去记,查就行。
java 复制代码
import org.apache.commons.lang3.StringUtils;
​
import java.util.regex.Matcher;
import java.util.regex.Pattern;
​
/**
 * 手机号码校验类 (使用正则表达式)
 *
 * @author Z
 * @date 2023/9/27 21:45
 */
public class ValidatorUtil {
​
    private static final Pattern mobile_pattern = Pattern.compile("[1]([3-9])[0-9]{9}$");
​
    public static boolean isMobile(String mobile) {
        if (StringUtils.isEmpty(mobile)){
            return false;
        }
        Matcher matcher = mobile_pattern.matcher(mobile);
        return matcher.matches();
    }
}
java 复制代码
service类调用这个工具类:ValidatorUtil.isMobile(value) 用来判断手机号码格式正确与否

Pattern 表示一个编译后的正则表达式模式 ,它可以被用来创建Matcher对象

Matcher 提供了对字符串进行正则匹配的功能。

通过使用**Pattern** 类的**compile()** 方法,可以将一个正则表达式字符串编译为一个Pattern对象 。然后,可以使用该对象创建一个Matcher对象,通过调用**Matcher** 对象的方法进行字符串的匹配操作。这两个类通常是一起使用。

上面是用于验证手机号码的正则表达式模式,它的格式要求如下:

  • 以数字1开头,表示中国的手机号码;

  • 第二位数字必须是3到9之间的任意数字;

  • 后面跟着9个数字字符。

通过使用这个正则表达式模式,可以判断一个字符串是否符合中国手机号码的格式要求。

下面就是手机号验证的最新正则表达式

java 复制代码
/^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/
相关推荐
_Aaron___31 分钟前
Spring AI 接入 MCP:工具调用不是“能调就行”,关键是边界治理
java·人工智能·spring
我是一颗柠檬35 分钟前
【MySQL全面教学】MySQL性能优化实战Day13(2026年)
数据库·后端·sql·mysql·性能优化·database
向量引擎1 小时前
从零起步,如何打造专属向量引擎 API 中转工作流?
java·服务器·前端
LJianK11 小时前
普通接口,用到getter和setter方法的地方,jackson转换
java
辰海Coding1 小时前
MiniSpring框架学习-分解 Dispatcher
java·学习·spring·架构
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第84题】【Mysql篇】第14题:为什么用 InnoDB 存储引擎的表建议用整型的自增主键?
java·开发语言·数据库·mysql·面试
小江的记录本1 小时前
【JVM虚拟机】JVM调优:常用JVM参数、调优核心指标、OOM排查、GC日志分析、Arthas工具使用(附《思维导图》+《面试高频考点清单》)
java·jvm·spring boot·后端·python·spring·面试
程序员cxuan1 小时前
我花了两天时间,终于把 Codex 额度掉太快的问题整明白了!!
人工智能·后端·程序员
IT_陈寒1 小时前
Vue这个动态响应坑把我整不会了
前端·人工智能·后端
金銀銅鐵1 小时前
[Java] 用图形化界面演示 iadd, isub, iconst_<i> 指令的效果
java·后端·python