HardBirch

Java 手机号码判断规则【测试通过】

时间:13-09-22 栏目:安卓技术篇 作者:张飞不张,文采横飞 评论:1 点击: 3,165 次

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

声明: 本文由( 张飞不张,文采横飞 )原创编译,转载请保留链接: Java 手机号码判断规则【测试通过】

Java 手机号码判断规则【测试通过】:目前有1 条留言

  1. 沙发
    魔豆先生:

    【最新消息】
    电信
    中国电信手机号码开头数字
    133、
    153、
    180、181、189
    联通
    中国联通手机号码开头数字
    130、131、132、
    145、
    155、156、185、186
    移动
    中国移动手机号码开头数字
    134、135、136、137、138、139、
    147、
    150、151、152、157、158、159、
    182、183、184、187、188
    补充
    14开头的号码以前为上网卡专属号段,如中国联通的是145,中国移动的是147等等。
    中国移动为3G启用的号段187、188,中国联通是186和185号段,中国电信的号段则是180和189。

    2013-10-08 13:58 [回复]

发表评论


QQ群互动

Linux系统与内核学习群:194051772

WP建站技术学习交流群:194062106

魔豆之路QR

魔豆的Linux内核之路

魔豆的Linux内核之路

优秀工程师当看优秀书籍

优秀程序员,要看优秀书!

赞助商广告

友荐云推荐