电话号码的判断--使用正则表达式的示例
thanks to kwklover
怕忘了所以copy
/**//// <summary>
/// 判断号码是联通,移动,电信中的哪个,在使用本方法前,请先验证号码的合法性
/// 规则:前三位为130-133 联通 ;前三位为135-139或前四位为1340-1348 移动; 其它的应该为电信
/// </summary>
/// <param name="mobile">要判断的号码</param>
/// <returns>返回相应类型:1代表联通;2代表移动;3代表电信</returns>
public static int GetMobileType(string mobile)
{
string[] chinaUnicom = new string[] {"130","131","132","133"} ;
string[] chinaMobile1 = new string[] {"135","136","137","138","139"} ;
string[] chinaMobile2 = new string[] {"1340","1341","1342","1343","1344","1345","1346","1347","1348"} ;
bool bolChinaUnicom = (Array.IndexOf(chinaUnicom,mobile.Substring(0,3)) >= 0) ;
bool bolChinaMobile1 = (Array.IndexOf(chinaMobile1,mobile.Substring(0,3)) >=0) ;
bool bolChinaMobile2 = (Array.IndexOf(chinaMobile2,mobile.Substring(0,4)) >=0) ;
if (bolChinaUnicom)
return 1 ;//联通
if ( bolChinaMobile1 || bolChinaMobile2 )
return 2 ; //移动
return 3 ; //其他为电信
}
注:有朋友建议,第二方法用正则表达式实现更好,确实不错,下面把第二方法的新实现贴上:
/// 判断号码是联通,移动,电信中的哪个,在使用本方法前,请先验证号码的合法性
/// 规则:前三位为130-133 联通 ;前三位为135-139或前四位为1340-1348 移动; 其它的应该为电信
/// </summary>
/// <param name="mobile">要判断的号码</param>
/// <returns>返回相应类型:1代表联通;2代表移动;3代表电信</returns>
public static int GetMobileType(string mobile)
{
if (IsChinaUnicomNumber(mobile))
return 1 ;
if (IsChinaMobileNumber(mobile))
return 2 ;
return 3 ;
}
//是否是联通的号码 测试通过
private static bool IsChinaUnicomNumber(string mobile)
{
string sPattern = "^(130|131|132|133)[0-9]{8}";
bool isChinaUnicom = Regex.IsMatch(mobile,sPattern) ;
return isChinaUnicom ;
}
//是否是移动的号码 测试通过
private static bool IsChinaMobileNumber(string mobile)
{
string sPattern = "^(135|136|137|138|139|1340|1341|1342|1343|1344|1345|1346|1347|1348)[1-9]{7,8}" ;
return Regex.IsMatch(mobile,sPattern) ;
}
版权声明:CSDN是本Blog托管服务提供商。如本文牵涉版权问题,CSDN不承担相关责任,请版权拥有者直接与文章作者联系解决。
转载于:https://www.cnblogs.com/henry_zjk/articles/100296.html
电话号码的判断--使用正则表达式的示例相关推荐
- C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例
C#开发Unity游戏教程循环遍历做出判断及Unity游戏示例 Unity中循环遍历每个数据,并做出判断 很多时候,游戏在玩家做出判断以后,游戏程序会遍历玩家身上大量的所需数据,然后做出判断,即首先判 ...
- 【计算理论】正则语言 ( 正则表达式原子定义 | 正则表达式递归定义 | 正则表达式语言原子定义 | 正则表达式语言结构归纳 | 正则表达式语言示例 | 根据正则表达式构造自动机 )
文章目录 一.正则表达式 定义 二. 正则表达式语言 原子定义 三.正则表达式语言 结构归纳定义 四.正则表达式语言 示例 五.空集 ∅\varnothing∅ 与 空字符 ε\varepsilonε ...
- java正则表达式用法示例_Java正则表达式教程及示例
java正则表达式用法示例 当我开始使用Java时,正则表达式对我来说是一场噩梦. 本教程旨在帮助您掌握Java正则表达式,并让我定期返回以刷新我的正则表达式学习. 什么是正则表达式? 正则表达式定义 ...
- 使用php函数判断数字,PHP 几个常用数字判断函数的简单示例
这篇文章主要为大家详细介绍了PHP 几个常用数字判断函数的简单示例,具有一定的参考价值,可以用来参考一下. 对PHP的几个常用数字判断函数代码感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧 ...
- java通过单号判断快递公司的示例代码
通过单号判断快递公司的示例代码有很多种,以下是快递100Java智能单号判断功能接入. 不过首先要拿到快递100的测试账号和密钥,获取方式只需要去官网注册后,登录后台进入用户信息模块就能看到了. ht ...
- 最新js验证手机号码、电话号码、身份证号码正则表达式代码
js验证手机号码.电话号码.身份证号码正则表达式 手机号码正则表达式验证 固定电话号码正则表达式 身份证正则 手机号码正则表达式验证 function checkPhone(){ var phone ...
- java判断手机号_java使用正则表达式判断手机号的方法示例
本文实例讲述了java使用正则表达式判断手机号的方法.分享给大家供大家参考,具体如下: 要更加准确的匹配手机号码只匹配11位数字是不够的,比如说就没有以144开始的号码段, 故先要整清楚现在已经开放了 ...
- Linux正则表达式判断是否是数字示例
- Qt通过QRegExp类来实现输入的有效性判断与正则表达式的学习
在做项目的过程中我们经常会遇到输入数字.字母这类的问题,有时候需要判断用户输入的信息是否按要求输入,这里就用到了正则表达式,Qt中QRegExp是正则表达式类.QRegExpValidator类是用来 ...
最新文章
- SQL Server 死锁的告警监控
- Deep Learning 论文笔记 (2): Neural network regularization via robust weight factorization
- menu什么意思中文意思_英文alone、lonely、lonesome 中文意思跟用法差别
- 体验微软反间谍软件及恶意软件清除工具
- 为什么QQ浏览器不是默认浏览器但是在打开网页的时候还是默认启动?
- python 取字符串的最后一位_python中获得一个字符串最后出现位置 | 学步园
- 中国计算机学会推荐国际学术会议和期刊目录(2015 年)
- 【STM32学习笔记——WIFI模块】
- 前端安全 XSS跨站脚本攻击-CSRF跨站请求伪造攻击
- 法人 法人代表和法定代表人的区别
- redis使用及Spring Session+Redis实现Session共享
- 从word中提取图片的三种方法
- 计算机三级网络技术最全知识点总结一
- 织梦网站在空间怎么转服务器,织梦网站换空间
- cisco配置主机计算机连接,Cisco交换机配置新手篇:正确连接和初级配置
- android团购客户端,领团网团购导航Android手机客户端获机锋网力推
- ?xml version=1.0 encoding=utf-8?appcommand time=1494385110doa
- 为什么要用色彩色差仪?色彩色差仪有哪些应用?
- EZ 2018 05 06 NOIP2018 慈溪中学集训队互测(五)
- 【服务器数据恢复】MDisk重建,vdisk丢失导致数据库不可用的数据恢复案例