主要用到这两个包:

import java.util.regex.Matcher;

import java.util.regex.Pattern;

Pattern类用于创建一个正则表达式,生成一个Pattern对象并且编译一个正则表达式,也可以说创建一个匹配模式,

它的构造方法是私有的,不可以直接创建,    但可以通过Pattern.complie(String regex)简单工厂方法创建一个正则表达式,

轮到Matcher类登场了,Pattern.matcher(CharSequence input)返回一个Matcher对象.

Matcher类的构造方法也是私有的,不能随意创建,只能通过Pattern.matcher(CharSequence input)方法得到该类的实例

String.matches() 这个方法主要是返回是否匹配指定的字符串,如果匹配则为true,否则为false;

运营商号段信息:

中国联通号码:130、131、132、145(无线上网卡)、155、156、185(iPhone5上市后开放)、186、176(4G号段)、

175(2015年9月10日正式启用,暂只对北京、上海和广东投放办理)

中国移动号码:134、135、136、137、138、139、147(无线上网卡)、150、151、152、157、158、159、182、183、187、188、178

中国电信号码:133、153、180、181、189、177、173、149 虚拟运营商:170、1718、1719

手机号前3位的数字包括:

第一位 :1

第二位:2 :3,4,5,7,8

第三位: 0,1,2,3,4,5,6,7,8,9

总结:

目前java手机号码正则表达式有:

一: "^1[3|4|5|7|8][0-9]\\d{4,8}$"    一般验证情况下这个就可以了

二: "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,5-9]))\\d{8}$"

范例:import java.util.Random;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class BuMa {static  Scanner tel = new Scanner(System.in);public static void main(String[] args) {System.out.println("请输入手机号:");while(true){try{Long tele = tel.nextLong();if(String.valueOf(tele).length() != 11){System.out.println("你输入的手机号码长度错误!请重新输入:");}else {String regex = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,5-9]))\\d{8}$";Pattern p = Pattern.compile(regex);String str = String.valueOf(tele);Matcher m = p.matcher(str);if(m.matches()){System.out.println("您的手机号格式正确!");String s = str.substring(0, 3) + "****" + str.substring(str.length() - 4, str.length());System.out.println(s);break;}else{System.out.println("您的手机号格式不正确!请重新输入:");}}} catch (Exception E){tel = new Scanner(System.in);System.out.println("你输入的手机号码含有非法字符!请重新输入:");}}}
}

java手机号码格式验证相关推荐

  1. JAVA 手机号码格式验证,使用正则表达式

    正则表达式 正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串.将匹配的子串替换或者从某个串中取出符合某个条件的子串等. ...

  2. java手机号码格式验证_java 校验手机号格式

    主要用到这两个包: import java.util.regex.Matcher; import java.util.regex.Pattern; Pattern类用于创建一个正则表达式,生成一个Pa ...

  3. 输入手机号的html语言,关于html里插入javascript对手机号码格式验证

    关于html里插入javascript对手机号码格式验证0 先贴入代码 *手机号码: function phoneCheck(input){ if(input==""){ aler ...

  4. Java手机号码正则表达式验证,手机号段根据2020年最新号段所做参考

    最近需要实现java手机号码正则表达式验证,然而百度了一下发现结果挺多的,但是好像号段不全,基本上都是几年前的结果,大部分刚好就没我166的号段,我今天也查了一下最新的手机号段,重新写一遍(根据需求我 ...

  5. 手机号码格式验证和 FASTDFS 工具类

    常见大陆和香港号码格式验证 import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.regex ...

  6. Android手机号码格式验证(正则)

    这是一个简易版本的,只验证位数和前两位 //判断输入的格式是否为手机号public boolean isPhone(String phone){String regex="^1[345678 ...

  7. java xml格式验证_Java中对XML文件的校验

    Java中使用dtd校验xml文件: 1.定义一个校验类CheckXML类: import org.w3c.dom.Document; import org.xml.sax.EntityResolve ...

  8. 前端js身份证号码和手机号码格式验证

    //手机号码验证 function phoneNO(num) {return /^1[3|4|5|6|7|8|9][0-9]\d{8}$/.test(num); return /^(https?|ft ...

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

    1.正则表达式的字符串表示 String mobileRegex = "^1(3|4|5|7|8)\\d{9}$"; 字符^意义:表示匹配的字符必须在最前边: 字符$意义:表示待匹 ...

最新文章

  1. Linux笔记 软件管理
  2. [源码和文档分享]基于Netty和WebSocket的Web聊天室
  3. Linux使用百度云
  4. 统计学习方法笔记(四)-最大熵模型原理及python实现
  5. 八卦Minsky打压神经网络始末
  6. SpringBoot中使用POI实现Excel导入到数据库(图文教程已实践)
  7. jQuery的Autocomplete插件的远程url取json数据的问题
  8. vue.config.js配置
  9. 搞了个30天学习量化的数据资料,可以bt做全球。数据链接白送
  10. 西安市2008驾照理论考试题
  11. java中自定义异常类
  12. 【开发工具IDE】eclipse的web项目的tomcat安装部署问题
  13. java实验原理_java实验报告实验原理.doc
  14. 爆赞,java后端开发路线。
  15. 【古代文学论文】酒文化传播中唐代文学的作用分析(节选)
  16. 酒店订房管理系统2.0 优化版
  17. maven项目test执行main找不到资源文件
  18. 沃云统一开发平台介绍
  19. ROS-3DSLAM --开篇:综述
  20. 汽车融资租赁详解及流程介绍

热门文章

  1. Android之常见事件响应的实现方式
  2. 生产环境服务端报错:阿里云IOT连接中断
  3. 关于鼠标手的症状和恢复方法
  4. Vue [WDS] Disconnected 异常
  5. ode45 matlab 出错,Matlab中ode45求解微分方程组出错。
  6. Prometheus集成telegram报警
  7. intellij idea 类和文件夹(目录)左上角出现小叉号
  8. win10未能解析服务器名,win10系统提示“无法解析服务器的dns地址”的修复方法...
  9. 如何更改计算机管理员账户名称,win10系统管理员名称怎么改_win10管理员账户名怎么修改...
  10. 敏捷(Agile)是什么?有哪些优缺点?敏捷落地需不需工具?