java使用正则表达式判断手机号的方法示例

 更新时间:2017年06月27日 10:11:11   作者:Central-Perk  
这篇文章主要介绍了java使用正则表达式判断手机号的方法,分析了手机号码段的原理及java使用正则表达式针对手机号的匹配操作实现技巧,需要的朋友可以参考下

本文实例讲述了java使用正则表达式判断手机号的方法。分享给大家供大家参考,具体如下:

要更加准确的匹配手机号码只匹配11位数字是不够的,比如说就没有以144开始的号码段,

故先要整清楚现在已经开放了多少个号码段,国家号码段分配如下:

移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188
联通:130、131、132、152、155、156、185、186
电信:133、153、180、189、(1349卫通)

那么现在就可以正则匹配测试了,

import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ClassPathResource {
public static boolean isMobileNO(String mobiles){
Pattern p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");
Matcher m = p.matcher(mobiles);
System.out.println(m.matches()+"---");
return m.matches();
}
public static void main(String[] args) throws IOException {
System.out.println(ClassPathResource.isMobileNO("12016155153"));
}
}

第二种方法:

import java.util.regex.Matcher;
import java.util.regex.Pattern;
String value="手机号";
String regExp = "^[1]([3][0-9]{1}|59|58|88|89)[0-9]{8}$";
Pattern p = Pattern.compile(regExp);
Matcher m = p.matcher(value);
return m.find();//boolean

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java正则表达式技巧大全》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

相关文章

  • SpringBoot HikariCP配置项及源码解析

    SpringBoot HikariCP配置项及源码解析

    这篇文章主要为大家介绍了SpringBoot HikariCP配置项及源码解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Springboot Cucumber测试配置介绍详解

    Springboot Cucumber测试配置介绍详解

    这篇文章主要介绍了Springboot Cucumber测试配置介绍详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • 解决Maven的pom.xml中设置repository不起作用问题

    解决Maven的pom.xml中设置repository不起作用问题

    这篇文章主要介绍了解决Maven的pom.xml中设置repository不起作用问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • Java面试题冲刺第二十三天--分布式

    Java面试题冲刺第二十三天--分布式

    这篇文章主要为大家分享了最有价值的三道关于分布式的面试题,涵盖内容全面,包括数据结构和算法相关的题目、经典面试编程题等,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • SpringSecurity获取当前登录用户的信息的几种方法实现

    SpringSecurity获取当前登录用户的信息的几种方法实现

    本文主要介绍了SpringSecurity中获取当前登录用户信息的多种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-03-03
  • java 文件流的处理方式 文件打包成zip

    java 文件流的处理方式 文件打包成zip

    这篇文章主要介绍了java 文件流的处理方式 文件打包成zip,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-10-10
  • Java报错状态码快速定位与解决方法

    Java报错状态码快速定位与解决方法

    在日常开发中Java程序员最头疼的问题之一就是遇到各种报错状态码,这些状态码就像谜语一样让人摸不着头脑,比如突然蹦出一个500或者404,新手可能会直接懵掉,别担心!这篇文章会带你彻底搞懂Java报错状态码的来龙去脉,需要的朋友可以参考下
    2025-05-05
  • JavaWeb中Servlet的生命周期及线程安全问题详解

    JavaWeb中Servlet的生命周期及线程安全问题详解

    这篇文章主要介绍了JavaWeb中Servlet的生命周期及线程安全问题详解,Servlet 生命周期可被定义为从创建直到毁灭的整个过程,Servlet体系结构是建立在Java多线程机制之上的,它的生命周期是由Web容器负责的,需要的朋友可以参考下
    2024-01-01
  • Feign如何解决服务之间调用传递token

    Feign如何解决服务之间调用传递token

    这篇文章主要介绍了Feign如何解决服务之间调用传递token,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • 使用SpringBoot简单实现无感知的刷新 Token功能

    使用SpringBoot简单实现无感知的刷新 Token功能

    实现无感知的刷新 Token 是一种提升用户体验的常用技术,可以在用户使用应用时自动更新 Token,无需用户手动干预,这种技术在需要长时间保持用户登录状态的应用中非常有用,以下是使用Spring Boot实现无感知刷新Token的一个场景案例和相应的示例代码
    2024-09-09

最新评论