正则表达式匹配手机号
由于手机号段的不断更新,以前的正则表达式已经无法满足需求。重新编写这条表达式,号段资料来源依据:http://www.jihaoba.com/tools/haoduan/
现有手机号段:
移动:139 138 137 136 135 134 147 150 151 152 157 158 159 178 182 183 184 187 188
联通:130 131 132 155 156 185 186 145 176
电信:133 153 177 173 180 181 189
虚拟运营商:170 171
整理后:130~139 145,147 15[012356789] 178,176,177,173,170,171 180~189
var regex = {
mobile: /^0?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/
}
js:var bool = checkRegexp(jq("#mobile"), /^0?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/, "电话格式不对");
表达式分析:
“/”代表一个正则表达式。
“^”代表字符串的开始位置,“$”代表字符串的结束位置。
“?”代表匹配前面的字符一个或零个,所以这里0?的意思是手机号码可以以0开头或不以0开头。
接下的部分验证11位的手机号码,先从13开始,因为从130-139都有所以可选区间是[0-9],15开头的号码没有154所以[]里面没有4这个数字,当然也可以写成[0-35-9],下面18和14开的号码同上。
小括号括起来的代表一个子表达式,里面是4个可选分支分别用“|”来区分开来,在正则中“|”的优先级是最低的,这里每个分支匹配的都是3个字符(一个[]只能匹配一个字符,里面是可选的意思),也就是手机号码的前3位数字,那么后面还有8位数字需要匹配,可以是0-9的任意字符,所以是“[0-9]{8}”,{}中的数字代表匹配前面字符的个数。
分析完毕。
/^(0|86|17951)?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$/
C#版:using System.Text.RegularExpressions;
public static bool IsTelephone(string str_telephone)
{
return Regex.IsMatch(str_telephone, @"^(0|86|17951)?(13[0-9]|15[012356789]|17[013678]|18[0-9]|14[57])[0-9]{8}$");
}
转载于:https://www.cnblogs.com/betterDay/p/6845113.html
正则表达式匹配手机号相关推荐
- JS正则表达式匹配手机号
JS中常用正则表达式举例一 JS正则表达式匹配手机号 大家好,有关正则表达式的基本知识在其它文章中已做了介绍: JS属性&方法详解 下面一起来看看JS中利用正则表达式匹配字符串的常用例子: 手 ...
- Python学习:正则表达式匹配手机号,邮箱
匹配手机号 import re phoneRegex = re.compile(r'''((\d{3}|\(\d{3}\))? # area code(\s|-|.)? # separator(\d{ ...
- 正则表达式匹配手机号、QQ号、邮箱
import re #匹配邮箱 # def email_match(str1): # #12312313413@sdeqwe.com # res = re.findall(r"(\w{1,} ...
- 正则表达式匹配、手机号、QQ号、邮箱号
正则表达式匹配.手机号.QQ号.邮箱号 第一个正则表达式匹配手机号 ```首先我们来创建一个变量接受用户输入的数据var son = number(prompt(""))然后再来一 ...
- JS常用的正则表达式(匹配邮箱、名字、手机号等等)
JS常用的正则表达式(匹配邮箱.名字.手机号等等) /* 匹配英文或字符名字的正则表达式 */ var userNameReg = /^\w{6,30}$/; /* 匹配邮箱的正则表达式 */ var ...
- Android中利用正则表达式验证手机号是否合法
利用正则表达式来验证手机号是否合法,现在我们简单使用一下,这个在实际的应用中很实用. 例:在输入框中输入手机号,判断是否合法, MainActivity中: package com.example.m ...
- 正则表达式实现手机号中间4位数隐藏或者只显示末尾四位数
下面看下正则表达式实现手机号中间4位数隐藏或者只显示末尾四位数 ? 1 2 // 匹配手机号首尾,以类似"123****8901"的形式输出 '12345678901'.repla ...
- java判断手机号_java使用正则表达式判断手机号的方法示例
本文实例讲述了java使用正则表达式判断手机号的方法.分享给大家供大家参考,具体如下: 要更加准确的匹配手机号码只匹配11位数字是不够的,比如说就没有以144开始的号码段, 故先要整清楚现在已经开放了 ...
- 使用正则表达式验证手机号格式
废话不多说,直接上代码,有什么区段可以补充的,请告知! /** * 校验手机号格式 * * @param number * @return */ public static boolean isMob ...
最新文章
- js 判断js,css是否引入,确保不重复引入
- [TCP/IP] TCP如何保证可靠性
- Ajax基本案例详解之$.ajax的实现
- 热式气体质量流量计检定规程_热式气体质量流量计基于热扩散原理
- 【备忘录】c++ 整形浮点=字符串 类型转换
- 你还在犹豫要不要学习Java?不妨来看看我的见解如何?
- 构造函数与析构函数的重载及浅拷贝和深拷贝
- CBD将建智慧城市管理平台
- 数据库入门(SQL SEVER)之SQL语句删除单行数据,所有行数据,表和数据库
- c语言浪漫烟花表白,C语言实战之浪漫烟花表白程序.pdf
- VS2010闪退的问题
- 文献管理软件Zotero常用插件安装及配置使用
- 详谈PC端软件 - 加壳与脱壳
- 独家解读 | 基于优化的对抗攻击:CW攻击的原理详解与代码解读
- 【雅思】【写作】【大作文】Discuss both views and give your own opinion
- Appium + IOS 自动化环境搭建教程(实践+总结+踩坑)
- hazelcast的坑爹事
- 电机控制器培训资料-《如何快准狠的标定永磁同步电机》 品牌:车用电机控制器
- Qt编写安防视频监控系统1-通道切换
- mongodb 副本集测试
热门文章
- Timer和TimerTask类 例子 .
- 时尚的基因是创新 -- 旺旺平台产品线员工大会即兴发言提要
- GPU云服务器+tensorboard
- 只导出项目需要的pip依赖包-方法的缺陷
- fastdfs上传文件时报错No route to host
- Error: Another program is already listening on a port that one of our HTTP servers is configured to
- spark中累加器的使用(转)
- 07_QueueWithTwoStacks
- python查找文字在图片中的位置_图片中的文字竟然能如此快速提取?OCR文字识别功能简直太强大了...
- 工作单元php,PHP面向对象中的工作单元是什么