首页 > 移动平台 > 详细

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

时间:2018-09-25 19:08:36      阅读:160      评论:0      收藏:0      [点我收藏+]

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

https://www.cnblogs.com/go4mi/p/6426215.html

 

package phone;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 运营商号段如下:
 * 中国联通号码: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 :1
 * 2 :3,4,5,7,8
 * 3 :0,1,2,3,4,5,6,7,8,9 
 * 总结: 目前java手机号码正则表达式有:
 * a :"^1[3|4|5|7|8][0-9]\\d{4,8}$"    一般验证情况下这个就可以了
 * b :"^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,5-9]))\\d{8}$"
 * Pattern和Matcher详解(字符串匹配和字节码)http://blog.csdn.net/u010700335/article/details/44616451
 */

 1 public class MyPhoneTest {
 2     
 3     public static void main(String[] args) {
 4         String phone = "13123456789";
 5         String regex = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(17[013678])|(18[0,5-9]))\\d{8}$";
 6         if(phone.length() != 11){
 7             System.out.println("手机号应为11位数");
 8         }else{
 9             Pattern p = Pattern.compile(regex);
10             Matcher m = p.matcher(phone);
11             boolean isMatch = m.matches();
12             if(isMatch){
13                 System.out.println("您的手机号" + phone + "是正确格式@——@");
14             } else {
15                 System.out.println("您的手机号" + phone + "是错误格式!!!");
16             }
17         }
18     }

 


    /**
     * 详解:这是正则表达式Pattern.compile("***");这个是规范
    Pattern类用于创建一个正则表达式,生成一个Pattern对象并且编译一个正则表达式,也可以说创建一个匹配模式,
    它的构造方法是私有的,不可以直接创建,    但可以通过Pattern.complie(String regex)简单工厂方法创建一个正则表达式,
    轮到Matcher类登场了,Pattern.matcher(CharSequence input)返回一个Matcher对象. 
    
    Matcher类的构造方法也是私有的,不能随意创建,只能通过Pattern.matcher(CharSequence input)方法得到该类的实例
    String.matches() 这个方法主要是返回是否匹配指定的字符串,如果匹配则为true,否则为false;
}

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

原文:https://www.cnblogs.com/haoyul/p/9701085.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!