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
电信:133、153、180、189、(1349卫通)
以上这些只是过去已知的,可能还随时在增加或在变,比如小米移动的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();
}
}
java-正则表达式判断手机号的更多相关文章
- js java正则表达式替换手机号4-7位为星*号
需求: 一个手机号13152461111,由于安全性,需要替换4-7位字符串为星号,为131****1111,那么有2中玩法,一种是前端隐藏,一种是后台隐藏. 1. 前台隐藏 <!DOCTYPE ...
- JAVA正则表达式判断元音
/* * 判断字符串”qaq”中间的字符是否是元音 * * aeiou * AEIOU * */ (1)正则表达式 (2) (3)
- swift4.0 正则表达式判断手机号
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 15.0px Menlo; color: #ffffff; background-color: #282b3 ...
- Java中用正则表达式判断日期格式是否正确
1.Java中用正则表达式判断日期格式是否正确 DateType.java: /** * @Title:DateType.java * @Package:com.you.dao * @Descript ...
- 5.9-3 用正则表达式判断字符串text是否为合法的手机号
package zfc; public class Zfc { public static void main(String[] args) { //判断手机号格式是否合法 String text = ...
- iOS开发之判断手机号和邮箱 正则表达式
#pragma mark --判断手机号合法性 + (BOOL)checkPhone:(NSString *)phoneNumber { NSString *regex = @"^((13[ ...
- Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码正则表达式
Java 常用正则表达式,Java正则表达式,Java身份证校验,最新手机号码校验正则表达式 ============================== ©Copyright 蕃薯耀 2017年11 ...
- java 正则表达式语法
java 正则表达式语法 标签: 正则表达式javawindowsvbscriptscripting电话 2012-05-20 10:11 6705人阅读 评论(1) 收藏 举报 分类: javaS ...
- Java 正则表达式[转载]
PS:转载自CSDN博客看上去很美 众所周知,在程序开发中,难免会遇到需要匹配.查找.替换.判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力.因此,学 ...
- java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”
在javascript中有一个方法isDigit()使用来判断一个字符串是否都是数字,在java的字符串处理方法中没有这样的方法,觉得常常需要用到,于是上网搜了一下,整理出了两个用正则表达式匹配的判断 ...
随机推荐
- beego——错误处理
beego通过Redirect方法来进行跳转: func (this *AddController) Get() { this.Redirect("/", 302) } 如何终止此 ...
- xlrd、xlwt操作execl表格
在python中操作execl进行数据读写的时候,可以使用xlrd进行文件的读取,使用xlwt将数据写入execl中. 1.xlrd xlwt用来读取execl中的数据,常见的用法如下. (1)打开e ...
- solr 利用cul或solr界面单值更新
本文主要是指利用solr界面或cul的更新solr的值.如果需要代码中单值更新请参考黎明露珠的博客链接:http://www.cnblogs.com/limingluzhu/p/5535314.htm ...
- VS2012安装完成之后,用自带的Blend无法创建WPF项目,打开WPF项目无法设计
Visual Studio 2012安装完成之后, 打开自带的Blend for Visual Studio 无法创建新的WPF或者Silverlight项.打开WPF项目无法编辑的原因: 1.VS自 ...
- Sybase:游标用法以及嵌套用法
Sybase:游标用法以及嵌套用法 游标示例一: --Sybase游标示例一: create PROCEDURE DBA.p_proc_test() ON EXCEPTION RESUME begin ...
- Oracle中对现有表增加列
altertable Tablename add(column1 varchar2(20),column2 number(7,2)...) --Oracle中修改列名不可以,但是可以删除列,增加列 a ...
- Spring_泛型依赖注入
- maven编译时GBK错误
一.问题描述 今天在MyEclipse中使用Maven编译项目源代码时,结果如下了如下的错误 百思不得其解啊,Java源代码在MyEclipse中显示是没有任何错误的,可是执行"maven ...
- javascript日期格式处理
一. 服务端返回的日期和时间之间有T Asp.net MVC中 action返回前台的日期类型数据 是带有 T的,如: 2015-07-07T10:15:01. 这样的数据在Chrome浏览器,会自动 ...
- HTML5 地理定位 【来自百度应用分享平台】
百度给的地图API接口相当完善,复制过来一下,以后备用 基本使用方法: <!--引入百度地图API--> <scriptsrc="http://api.map.baidu. ...