JavaScript 电话手机号码正则表达式

电话手机号码正则表达式

(支持手机号码,3-4位区号,7-8位直播号码,1-4位分机号)

((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)

匹配格式:

11位手机号码

3-4位区号,7-8位直播号码,1-4位分机号

如:12345678901、1234-12345678-1234

匹配中文字符的正则表达式: [\u4e00-\u9fa5]

评注:匹配中文还真是个头疼的事,有了这个表达式就好办了

匹配双字节字符(包括汉字在内):[^\x00-\xff]

评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹配空白行的正则表达式:\n\s*\r

评注:可以用来删除空白行匹配HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? />

评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力匹配首尾空白字符的正则表达式:^\s*|\s*$

评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

评注:表单验证时很实用匹配网址URL的正则表达式:[a-zA-z]+://[^\s]*

评注:网上流传的版本功能很有限,上面这个基本可以满足需求匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

评注:表单验证时很实用匹配国内电话号码:\d{3}-\d{8}|\d{4}-\d{7}

评注:匹配形式如 0511-4405222 或 021-87888822匹配腾讯QQ号:[1-9][0-9]{4,}

评注:腾讯QQ号从10000开始匹配中国邮政编码:[1-9]\d{5}(?!\d)

评注:中国邮政编码为6位数字匹配身份证:\d{15}|\d{18}

评注:中国的身份证为15位或18位匹配ip地址:\d+\.\d+\.\d+\.\d+

评注:提取ip地址时有用匹配特定数字:

^[1-9]\d*$    //匹配正整数

^-[1-9]\d*$   //匹配负整数

^-?[1-9]\d*$   //匹配整数

^[1-9]\d*|0$  //匹配非负整数(正整数 + 0)

^-[1-9]\d*|0$   //匹配非正整数(负整数 + 0)

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$   //匹配正浮点数

^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$  //匹配负浮点数

^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$  //匹配浮点数

^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$   //匹配非负浮点数(正浮点数 + 0)

^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$  //匹配非正浮点数(负浮点数 + 0)

评注:处理大量数据时有用,具体应用时注意修正

匹配特定字符串:

^[A-Za-z]+$  //匹配由26个英文字母组成的字符串

^[A-Z]+$  //匹配由26个英文字母的大写组成的字符串

^[a-z]+$  //匹配由26个英文字母的小写组成的字符串

^[A-Za-z0-9]+$  //匹配由数字和26个英文字母组成的字符串

^\w+$  //匹配由数字、26个英文字母或者下划线组成的字符串

"^\d+$"  //非负整数(正整数 + 0)

"^[0-9]*[1-9][0-9]*$"  //正整数

"^((-\d+)|(0+))$"  //非正整数(负整数 + 0)

"^-[0-9]*[1-9][0-9]*$"  //负整数

"^-?\d+$"    //整数

"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0)

"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数

"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0)

"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点

"^(-?\d+)(\.\d+)?$"  //浮点数

"^[A-Za-z]+$"  //由26个英文字母组成的字符串

"^[A-Z]+$"  //由26个英文字母的大写组成的字符串

"^[a-z]+$"  //由26个英文字母的小写组成的字符串

"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串

"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串

"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址

"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url

/^13\d{9}$/gi手机号正则表达式

public static bool IsValidMobileNo(string MobileNo)

{

const string regPattern = @"^(130|131|132|133|134|135|136|137|138|139)\d{8}$";

return Regex.IsMatch(MobileNo, regPattern);

}

正则表达式--验证手机号码:13[0-9]{9}

实现手机号前带86或是+86的情况:^((\+86)|(86))?(13)\d{9}$

电话号码与手机号码同时验证:(^(\d{3,4}-)?\d{7,8})$|(13[0-9]{9})

提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)

提取信息中的中国手机号码:(86)*0*13\d{9}

提取信息中的中国固定电话号码:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}

提取信息中的中国电话号码(包括移动和固定电话):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}

提取信息中的中国邮政编码:[1-9]{1}(\d+){5}

提取信息中的中国身份证号码:\d{18}|\d{15}

提取信息中的整数:\d+

提取信息中的浮点数(即小数):(-?\d*)\.?\d+

提取信息中的任何数字:(-?\d*)(\.\d+)?

提取信息中的中文字符串:[\u4e00-\u9fa5]*

提取信息中的双字节字符串 (汉字):[^\x00-\xff]*

================================================================

手机号为什么以13开头2008-02-16 22:06大家都知道以前电信移动邮政还没有分家阿,邮电资源是邮电部(现信息产业部)统一调度的。在分配号段的时候,做了一些细致的规划,大体是这样:

10开头,电信服务号码,如103国际半自动挂号,108国际对方付费电话,10000中国电信服务中心,10010中国联通服务中心,10050中国铁通服务中心,10060中国网通服务中心,10070中国卫通服务中心,10086中国移动服务中心等等

11开头,赋予特种服务号码,如110匪警,111电信内部测试,112报修,113、115国内人工长途挂号,114查号台,116国内人工长途查询,117报时,119火警等

12开头,赋予民用特殊号码,如120(医院),121(天气预报),122交通事故告警,12312保护知识产权举报中心,12315消费投诉热线,12319城建服务,12348法律咨询,12358价格举报中心,12365质量监督,12366纳税服务,12369环境保护投诉,126、 127、128、129寻呼台(BP机时代)

所以分配到手机用户时,以13开始做号段。后来分配130~133为联通,134~139为移动,13800138000中国移动充值。

日前新推出号段:以153开始做号段分给联通,以158、159开始做号段分给了移动。

以188开始做号段为TD-SCDMA制式的3G手机,将陆续有预先挑选出来的测试用户使用以“188”为开头的手机号码,在包括北京、青岛、厦门、保定等在内的几大城市中率先试用TD-SCDMA网络。

(查看日志《用号码以“188”开头的TD-SCDMA制式手机 体验读邮件、看手机电视等3G业务》)

其他的特殊号段号码有:

16,声讯类,如160中国电信工人信息服务接入码,166语音信箱业务,167吉通计算机互联网业务接入码,168声讯服务,中国电信公众多媒体网接入码等

17,长途电话服务,如170国内长途全自动话费查询台,173国内立接制长途半自动挂号台,176国内长途半自动查询台,177国内长途半自动班长台,179IP语音服务接入码等

18,部分服务台,如180邮政服务,184邮政编码查询接入码,185国家邮政局电话信息服务接入码,186移动服务中心,188固定电话交费台,189中国电信业务受理特服台等(大多已停用,或换新号)

19,寻呼接入,191联通无线电人工寻呼接入码,192联通无线电自动寻呼接入码等等

20,30,电话卡服务

另外,8、9开头的号段部分也作电信及民用服务号码

95,金融及民用服务号码,95501深圳发展银行,95502永安财产保险,95505天安保险,95508广州发展银行,95511中国平安人寿,95512中国平安产险,95515合众人寿,95516中国银联,95518中国人民保险,95519中国人寿保险,95522泰康人寿,95528浦东发展银行,95533中国建设银行,95555招商银行,95556中信银行,95559交通银行,95561兴业银行,95566中国银行,95567中国新华人寿,95568中国民生银行,95569安邦财产保险,95577华夏银行,95585中国联合财保,95588中国工商银行,95590中国大地财产保险,95595光大银行,95596民生人寿保险,95599中国农业银行,95598供电服务,96100民政服务,96118旅游投诉,96178廉政投诉,96198农业信用联社,96310城管执法,95105366中铁快运,95105768海康人寿

400,企业主被叫分摊付费电话业务,是一项由固网运营商推出的为被叫客户提供一个全国范围内的唯一400号码,并把对该号码的呼叫接至被叫客户事先规定目的地(电话号码或呼叫中心)的全国性智能网业务。企业申请了400业务,无疑将有效提高企业的市场形象,但是如果背后没有呼叫中心作为支撑,400也就只是一个将来电转移的号码,其价值也大大降低。如:4006789000宅急送4008108000 DHL快递4008111111顺丰速运4008208388 UPS快递4008861888联邦快递4008888400上海证券交易所

800,为受话人集中付费业务,它的主要特征是由被叫方(企业)集中支付话费,而主叫方(客户)不支付任何费用。800电话的使用充分体现了企业“客户至上”的先进理念,它在国外的使用已是十分普遍。

以上号码均作分配,内容太多未详细列出,部分号码目前已经升级,如电信服务台,天气预报,邮政服务台等等

010123444444

01,02开头的是3个开头,其余的是4个开头

01x 北京

02x 广州,上海,天津,重庆,沈阳,南京,,武汉,成都

03xx 河北,河南,山西

04xx 辽宁,吉林,黑龙江,内蒙古

05xx 江苏,山东,安徽,浙江,福建

06xx 这个保留?

07xx 江西,广西,湖北

08xx 四川,贵州

09xx 甘肃 青海 新疆,陕西

1.忽略非数字的(只留下数字)

2.判断前两个都是0,或86开头,且大于11位,为国际编码,国际编码后如果是0,到第4步

3.第一个是0,第二个非0,为国内编码,

4.根据上述我提供的得到身份

区号+座机号码+分机号码:regexp="^(0[0-9]{2,3}\-)?([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$"

手机(中国移动手机号码):regexp="^((\(\d{3}\))|(\d{3}\-))?13[456789]\d{8}|15[89]\d{8}"

所有手机号码:regexp="^((\(\d{3}\))|(\d{3}\-))?13[0-9]\d{8}|15[89]\d{8}"(新添加了158,159两个号段)