首页 > 编程语言 >java-正则表达式判断手机号

java-正则表达式判断手机号

时间:2023-04-30 11:04:44浏览次数:48  
标签:regex java 手机号 正则表达式 Pattern util IOException import


要更加准确的匹配手机号码只匹配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卫通)

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

  



1. import java.io.IOException;  
2.  
3. java.util.regex.Matcher;  
4.  
5. java.util.regex.Pattern;  
6.  
7. class ClassPathResource {  
8.  
9. static boolean isMobileNO(String mobiles){  
10.  
11. p = Pattern.compile("^((13[0-9])|(15[^4,\\D])|(18[0,5-9]))\\d{8}$");  
12.  
13. m = p.matcher(mobiles);  
14.  
15.  
16.  
17. m.matches();  
18.  
19.  
20.  
21. static void main(String[] args) throws IOException {  
22.  
23.  
24.  
25.  
26.  
27.


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"));

  }

  }


第二种方法:

 



1. import java.util.regex.Matcher;  
2.  
3. java.util.regex.Pattern;  
4.  
5. value="手机号";  
6.  
7. regExp = "^[1]([3][0-9]{1}|59|58|88|89)[0-9]{8}$";  
8.  
9. p = Pattern.compile(regExp);  
10.  
11. m = p.matcher(value);  
12.  
13. m.find();//boolean

标签:regex,java,手机号,正则表达式,Pattern,util,IOException,import
From: https://blog.51cto.com/u_548275/6237790

相关文章

  • Java二维数组
    二维数组二维数组的应用场景:但我们需要把数据分组管理的时候,就需要用到二维数组二维数组初始化:1、静态初始化:格式:数据类型[][]数组名=new数据类型[][]{{元素1,元素2},{元素1,元素2}};eg:int[][]arr=newint[][]{{11,22},{33,44}}简化格式:数据类型[][]数组名={{元素1......
  • java io流 高级流
    转换流是字符流和字节流之间的桥梁转换输入流InputSteamReader转换输出流OutputStreamWriter作用1:指定字符集读写(JDK11之后淘汰)JDK11之后可直接用字节流的构造方法//指定GBK的编码读取数据FileReaderfr=newFileReader(FilefileName,Charset.forName("GBK......
  • javaScript基础之 --- 作用域和闭包
    本文是我学习《你所不知道的javaScript上卷》的读书笔记的整理。更多详细内容,请微信搜索“前端爱好者“,戳我查看。作用域和闭包作用域是什么javaScript工作原理中的角色引擎-从头到尾负责整个javascript程序的编译及执行过程编译器-负责语法分析及代码生成......
  • 【模板方法设计模式详解】C/Java/JS/Go/Python/TS不同语言实现
    简介模板方法模式(TemplateMethodPattern)也叫模板模式,是一种行为型模式。它定义了一个抽象公开类,包含基本的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变算法的结构,只是重定义该算法的某些特定步骤。不同的子类以不同的方式实现这些抽象方法,从而对剩余的逻辑有......
  • Java Lambda Stream
    javalist中的字符是否包括在另一个list中,::方法使用::方法使用条件:lambada表达式的主体仅包含一个表达式,且lambada表达式只调用一个已经存在的方法;被引用的方法的参数列表与lambada表达式的输入输出一致以下是Java8中方法引用的一些语法:静态方法引用(s......
  • Java学习2——第四-六次题目集的分析与总结
     一.前言 本次Blog是对java学习中第二阶段练习的一个总结,作为刚学习JAVA的小白,以下依旧只是本人作为普通学生,以当前能力和状态所做出的总结和分析,不足之处也欢迎各位大佬的指正! 这次的三个题目集,题量除了题目集六很少外,其它都是正常数量,当然题目集六的题也是最难的。总体难......
  • JavaWeb回顾与小结(五)
    Mybatis基础操作环境准备工作准备数据库表创建一个新的springboot工程,选择引入对应的起步依赖(mybatis,mysql驱动,lombok)application.properties中引入数据库连接信息创建对应的实体类Emp(实体类属性采用驼峰命名)准备Mapper接口EmpMapper根据主键删除SQL语句delete......
  • JavaWeb回顾与小结(四)
    数据库操作-DQLDQL英文全称是DataQueryLanguage(数据查询语言),用来查询数据库表中的记录基本查询条件查询where分组查询groupby排序查询orderby分页查询limit基本查询语法查询多个字段select字段1,字段2,字段3from表名;查询所有字段(通配符)select*from......
  • Java中定时任务的6种实现方式,你知道几种?
    几乎在所有的项目中,定时任务的使用都是不可或缺的,如果使用不当甚至会造成资损。还记得多年前在做金融系统时,出款业务是通过定时任务对外打款,当时由于银行接口处理能力有限,外加定时任务使用不当,导致发出大量重复出款请求。还好在后面环节将交易卡在了系统内部,未发生资损。所以,系统......
  • Java中的四种进制
    1.对于整数,有四种表示方式二进制:0,1,满2进1,以0b或者0B开头十进制:0-9,满10进1八进制:0-7,满8进1,以数字0开头十六进制:0-9及A(10)-F(15),满16进1,以0x或者0X开头表示,此处的A-F不区分大小写......