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、176、(170、171 小米移动)  电信:133、153、180、189、(1349卫通)、177、(170 小米移动,这个号段即有联通的也有电信的)以上这些只是过去已知的,可能还随时在增加或在变,比如小米移动的17x开头的号段。

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

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

  移动:134、135、136、137、138、139、150、151、157(TD)、158、159、187、188

  联通:130、131、132、152、155、156、185、186、176、(170、171 小米移动)

  电信:133、153、180、189、(1349卫通)、177、(170 小米移动,这个号段即有联通的也有电信的)

以上这些只是过去已知的,可能还随时在增加或在变,比如小米移动的17x开头的号段。

但我们把它封装到一个实用工具类中,所有用到的地方都使用这一处代码,有变更的时候修改一下这里就可以了。

  那么现在就可以使用正则匹配测试:

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

/**
 * 移动相关操作实用类 MobileUtils
 * 
 * @author lipw
 * @date 2017年7月5日上午11:25:45
 */
public class MobileUtils {
	
	/**
	 * 验证手机号
	 * @author lipw
	 * @date   2017年4月5日上午11:34:07
	 * @param mobiles
	 * 手机号码
	 * @return
	 * 有效返回true,否则返回false
	 */
	public static boolean isMobileNO(String mobiles) {

		// Pattern p =
		// Pattern.compile("^((147)|(17[0-9])|(13[0-9])|(15[^4,\\D])|(18[0-9]))\\d{8}$");
		Pattern p = Pattern.compile("^((13[0-9])|(15[^4])|(18[0-9])|(17[0-9])|(147))\\d{8}$");
		Matcher m = p.matcher(mobiles);
		return m.matches();
	}
}


目录
相关文章
|
9天前
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
11 1
|
15天前
|
JavaScript 前端开发
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
电话号码正则表达式 代码 javascript+html,JS正则表达式判断11位手机号码
44 1
|
3月前
|
Java Perl
Java进阶之正则表达式
【7月更文挑战第17天】正则表达式(RegEx)是一种模式匹配工具,用于在字符串中执行搜索、替换等操作。它由普通字符和特殊元字符组成,后者定义匹配规则。
29 4
|
2月前
|
监控 Java API
|
3月前
|
数据采集 监控 Java
day21:Java零基础 - 正则表达式
【7月更文挑战第21天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
30 1
|
3月前
|
Java
如何在Java中使用正则表达式
如何在Java中使用正则表达式
|
3月前
|
Java
如何使用Java中的正则表达式
如何使用Java中的正则表达式
|
3月前
|
Java
正则表达式在Java中的应用与实例
正则表达式在Java中的应用与实例
|
4月前
|
网络协议 Android开发 数据安全/隐私保护
Android手机上使用Socks5全局代理-教程+软件
Android手机上使用Socks5全局代理-教程+软件
3908 2