电话号码正则表达式

xiaohaipan 贡献于2012-05-09

作者 微软中国  创建于2010-12-17 02:18:00   修改者微软中国  修改于2010-12-17 02:18:00字数5394

文档摘要:电话号码正则表达式(支持手机号码,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位直播号码.
关键词:

电话号码正则表达式 (支持手机号码,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*?)[^>]*>.*?|<.*? /> 评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力匹配首尾空白字符的正则表达式:^\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{1 8}|\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两个号段)

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享文档获得金币 ] 1 人已下载

下载文档