java 文章目录

提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
java 手机号正则匹配校验(电信、联通、移动、香港)


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • java 文章目录
  • 前言
  • 一、手机号正则验证
    • 1. 中国电信手机号:
    • 2. 中国联通手机号:
    • 3. 中国移动手机号:
    • 4.中国香港手机号:
  • 二、示例代码
  • 总结

前言

提示:这里可以添加本文要记录的大概内容:

java 手机号正则匹配校验(电信、联通、移动、香港)


提示:以下是本篇文章正文内容,下面案例可供参考

一、手机号正则验证

1. 中国电信手机号:

正则示例:

"(?:^(?:\\+86)?1(?:33|49|53|7[37]|8[019]|9[19])\\d{8}$)|(?:^(?:\\+86)?1349\\d{7}$)|(?:^(?:\\+86)?1410\\d{7}$)|(?:^(?:\\+86)?170[0-2]\\d{7}$)"

2. 中国联通手机号:

正则示例:

"(?:^(?:\+86)?1(?:3[0-2]|4[56]|5[56]|66|7[156]|8[56])\d{8}$)|(?:^(?:\+86)?170[47-9]\d{7}$)"

3. 中国移动手机号:

正则示例:

"(?:^(?:\+86)?1(?:3[4-9]|4[78]|5[0-27-9]|78|8[2-478]|98|95)\d{8}$)|(?:^(?:\+86)?1440\d{7}$)|(?:^(?:\+86)?170[356]\d{7}$)"

4.中国香港手机号:

正则示例:

^(00)?(852)[5|6|9]\d{7}$

二、示例代码

package com.hewa.document.util;import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;/*** @author bingwoo*/
@Component
public class MobileUtil {/*** 中国电信号码格式验证 手机段: 133,149,153,173,177,180,181,189,191,199,1349,1410,1700,1701,1702**/private static final String CHINA_TELECOM_PATTERN = "(?:^(?:\\+86)?1(?:33|49|53|7[37]|8[019]|9[19])\\d{8}$)|(?:^(?:\\+86)?1349\\d{7}$)|(?:^(?:\\+86)?1410\\d{7}$)|(?:^(?:\\+86)?170[0-2]\\d{7}$)";/*** 中国联通号码格式验证 手机段:130,131,132,145,146,155,156,166,171,175,176,185,186,1704,1707,1708,1709**/private static final String CHINA_UNICOM_PATTERN = "(?:^(?:\\+86)?1(?:3[0-2]|4[56]|5[56]|66|7[156]|8[56])\\d{8}$)|(?:^(?:\\+86)?170[47-9]\\d{7}$)";/*** 中国移动号码格式验证* 手机段:134,135,136,137,138,139,147,148,150,151,152,157,158,159,178,182,183,184,187,188,195,198,1440,1703,1705,1706**/private static final String CHINA_MOBILE_PATTERN = "(?:^(?:\\+86)?1(?:3[4-9]|4[78]|5[0-27-9]|78|8[2-478]|98|95)\\d{8}$)|(?:^(?:\\+86)?1440\\d{7}$)|(?:^(?:\\+86)?170[356]\\d{7}$)";/*** 中国香港*/private static final String CHINA_HANGKONG_PATTERN = "^(00)?(852)[5|6|9]\\d{7}$";/*** 中国大陆手机号码校验* @param phone* @return*/public static boolean checkPhone(String phone) {if (StringUtils.isNotBlank(phone)) {if (checkChinaMobile(phone) || checkChinaUnicom(phone) || checkChinaTelecom(phone) || isHKPhoneLegal(phone)) {return true;}}return false;}/*** 中国香港手机号码校验** @param phone** @return*/public static boolean checkChinaHangkong(String phone) {if (StringUtils.isNotBlank(phone)) {Pattern regexp = Pattern.compile(CHINA_HANGKONG_PATTERN);if (regexp.matcher(phone).matches()) {return true;}}return false;}/*** 中国移动手机号码校验** @param phone** @return*/public static boolean checkChinaMobile(String phone) {if (StringUtils.isNotBlank(phone)) {Pattern regexp = Pattern.compile(CHINA_MOBILE_PATTERN);if (regexp.matcher(phone).matches()) {return true;}}return false;}/*** 中国联通手机号码校验** @param phone** @return*/public static boolean checkChinaUnicom(String phone) {if (StringUtils.isNotBlank(phone)) {Pattern regexp = Pattern.compile(CHINA_UNICOM_PATTERN);if (regexp.matcher(phone).matches()) {return true;}}return false;}/*** 中国电信手机号码校验** @param phone** @return*/public static boolean checkChinaTelecom(String phone) {if (StringUtils.isNotBlank(phone)) {Pattern regexp = Pattern.compile(CHINA_TELECOM_PATTERN);if (regexp.matcher(phone).matches()) {return true;}}return false;}/*** 隐藏手机号中间四位** @param phone** @return java.lang.String*/public static String hideMiddleMobile(String phone) {if (StringUtils.isNotBlank(phone)) {phone = phone.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");}return phone;}/*** 香港手机号校验* 香港区号:00852* 香港手机号码8位数,5|6|9开头+7位任意数*/public static boolean isHKPhoneLegal(String phone) throws PatternSyntaxException {if (StringUtils.isNotBlank(phone)) {Pattern regexp = Pattern.compile(CHINA_HANGKONG_PATTERN);if (regexp.matcher(phone).matches()) {return true;}return false;}}
}

总结

提示:这里对文章进行总结:

以上代码仅供自己和大家学习,期待与大家共同进步!

java手机号正则验证(电信、联通、移动、香港)相关推荐

  1. java手机号正则验证(中国手机号)

    /*** 验证中国手机号* 前两位为13 后一位为数字0到9* 前两位为14 后一位为5,7,9* 前两位为15 后一位为0到3,5到9* 前三位为166* 前两位为17 后一位为3,5,6,7,8* ...

  2. jQuery Validate表单中文正则验证+手机号正则验证

    话不多说先上图 <!DOCTYPE html> <html> <head><meta charset="utf-8"><tit ...

  3. jquery php验证手机号码,使用jQuery如何实现手机号正则验证输入

    这篇文章主要介绍了jQuery实现手机号正则验证输入及自动填充空格功能,涉及jQuery事件响应.字符串遍历及正则判断等相关操作技巧,需要的朋友可以参考下 本文实例讲述了jQuery实现手机号正则验证 ...

  4. VUE—移动端手机号正则验证,不正确显示‘请输入正确手机号’,若正确跳转到发送验证码(图文详情)

    VUE-移动端手机号正则验证,不正确显示'请输入正确手机号',若正确跳转到发送验证码 先看效果图 第一步:写布局 <input type="text" placeholder ...

  5. js正则验证人名,包含· | 手机号正则验证(199)

    姓名验证(包含中间带点格式 ): /^[\u4E00-\u9FA5\uf900-\ufa2d·s]{2,20}$/ 手机格式验证(199.移动198.联通166号): /^(13[0-9]|14[5- ...

  6. MySQL 2019最全的国家地区代码、手机号正则验证,覆盖191个国家和地区

    功能亮点: 最新的手机号正则表达式,基于2018年12月份制作: 最全的手机号正则匹配和验证,涵盖191个国家和地区: 在多个大项目中实践,完美无压力,适应更多应用场景: 注意事项 关于JQ中ajax ...

  7. vue+elementui 手机号正则验证

    vue+elementui手机号正则校验 1. /^1(3|4|5|7|8|9)\d{9}$/ 2. /^1[3456789]\d{9}$/// 在表单rules中可以这样写规则验证rules:[mo ...

  8. Java处理正则验证手机号-详解

    参考博客:https://www.cnblogs.com/wangzn/p/7212587.html https://www.cnblogs.com/go4mi/p/6426215.html pack ...

  9. java 手机号正则表达式验证

    目前是截止2019年6月最新,适配各种手机号,满足常见号码验证 import java.util.regex.Matcher; import java.util.regex.Pattern; impo ...

  10. 2021年最新js手机号正则验证 最全全部号段

    手机号验证正则 /^1[3-9]\d{9}$/ js的例子 isphone.html <html> <body> <input id="Tel" ty ...

最新文章

  1. 当钢铁直男去应聘...... | 每日趣闻
  2. Silverlight实用窍门系列:65.Silverlight的数据模板DataTemplate(一)使用数据模板
  3. Socket连接外网的思考
  4. 关于浮点数计算时的精度问题
  5. 【转】C#正则表达式小结
  6. 根据ABAP类方法的形式参数名,反查是哪个方法定义了该形式参数
  7. php怎么获取用户所在地址,php获取客户端ip及获取ip所在地址
  8. 前端插件——Bootstrap Dual Listbox 简介
  9. 论文编写时,如何添加参考文献索引
  10. Java虚拟机------JVM介绍
  11. 【Oracle】等待事件详细内容
  12. 程序员表白源码集合打包带走
  13. b站学python哪个好学_B站上那个不用钱的学习python的资源
  14. APP推广|小众APP推广渠道,总有适合你的。
  15. h5 页面唤起微信和qq
  16. [异能程序员]第六章 遛狗(第二更)
  17. 用户登录和用户注册案例
  18. matlab中如何画圆锥,使用Matlab画出圆台圆锥圆柱
  19. 光晕ce服务器位置,光晕ce地图
  20. 小说里的编程 【连载之十二】元宇宙里月亮弯弯

热门文章

  1. NOIP2013 复盘
  2. pandorabox 潘多拉固件路由器作为无线打印机服务器记录
  3. javascript 小白学习指南专题 this
  4. 用CPLEX写个数学模型就这么难?
  5. 学生信息管理系统需求文档方案
  6. windows自带黑体_win10字体设置黑体|win10系统文字如何设置黑体字体
  7. 暗影骑士vn7安装linux,情人节没有宏碁暗影骑士 单身狗不幸福
  8. DaleCloud(原NFine)介绍三:后台业务功能开发实战演示
  9. 【正点原子MP157连载】第六章STM32Cube固件包-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南
  10. Linux系统彻底卸载MySQL数据库