温馨提示:由于本站服务器在海外新加坡,如网页加载速度慢属正常情况!

JAVA正则表达式手机号码格式验证

388次阅读
2 条评论

一、正则表达式简介

正则表达式(Regular Expression,简称 Regex)是一种用于匹配字符串的强大工具。它允许我们定义一种模式,然后可以使用这个模式来检查字符串是否符合该模式,或者从字符串中提取符合模式的部分。

在 Java 中,正则表达式通过 java.util.regex 包来支持,主要包括两个类:

  • Pattern:表示正则表达式的模式
  • Matcher:用于执行匹配操作,它包含了各种方法来检查字符串是否与模式匹配

二、中国手机号码格式规则

中国手机号码通常遵循以下规则:

  • 以 1 开头
  • 第二位是 3、4、5、6、7、8 或 9
  • 总共 11 位数字

根据这些规则,我们可以构造出对应的正则表达式:^1[3-9]\d{9}$

三、Java 程序实现手机号码格式验证

下面是完整的 Java 程序代码,使用正则表达式来验证用户输入的手机号码是否符合中国手机号码格式:

import java.util.regex.Pattern;

public class PhoneValidator {

    // 定义手机号码正则表达式
    private static final String PHONE_REGEX = "^1[3-9]\\d{9}$";

    /**
     * 验证手机号码是否符合格式
     * @param phone 要验证的手机号码
     * @return 如果符合格式返回 true,否则返回 false
     */
    public static boolean isValidPhone(String phone) {
        // 使用 Pattern 类编译正则表达式
        Pattern pattern = Pattern.compile(PHONE_REGEX);
        // 使用 Matcher 类进行匹配操作
        return pattern.matcher(phone).matches();}

    public static void main(String[] args) {
        // 测试手机号码
        String[] testPhones = {"13812345678", "12345678901", "15987654321", "11111111111", "19876543210"};

        for (String phone : testPhones) {if (isValidPhone(phone)) {System.out.println("手机号码" + phone + "格式正确");
            } else {System.out.println("手机号码" + phone + "格式错误");
            }
        }
    }
}

五、运行结果

运行上述程序,输出结果如下:

手机号码 13812345678 格式正确
手机号码 12345678901 格式错误
手机号码 15987654321 格式正确
手机号码 11111111111 格式错误
手机号码 19876543210 格式正确

正文完
 4

邮箱填你的QQ号+@qq.com,如123456@qq.com
评论(2 条评论)
班班不是班 评论达人 LV.1
2025-03-25 23:44:12 回复

如果说换成海外手机号也是同理吗?

 iPhone  Safari  日本东京都东京亚马逊
12 评论达人 LV.1
2025-03-24 21:13:59 回复

666

 Android  Chrome  中国贵州省铜仁电信