手机号正则表达式精简

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手机号正则表达式精简相关的知识,希望对你有一定的参考价值。

/^1((((3[4-9])|(5[0-27-9])|(8[2-478])|(78)|(47))|((3[0-2])|([58][56])|(76)|(45))|(([35]3)|(8[019])|(77))|((170)))\d8)|(1349[0-9]7)$/
由于现在号段众多,又得符合要求,以上是我自己写出的正则,代码是正确的,就是看着不够精简

精简后:1/^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]8$/

正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。

java手机号码正则表达式:    /**    * 验证手机号码    *     * 移动号码段:139、138、137、136、135、134、150、151、152、157、158、159、182、183、187、188、147    * 联通号码段:130、131、132、136、185、186、145    * 电信号码段:133、153、180、189    *     * @param cellphone    * @return    */   public static boolean checkCellphone(String cellphone)   String regex = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\\\d8$";    return check(cellphone, regex);       /**    * 验证固话号码    *     * @param telephone    * @return    */   public static boolean checkTelephone(String telephone)   String regex = "^(0\\\\d2-\\\\d8(-\\\\d1,4)?)|(0\\\\d3-\\\\d7,8(-\\\\d1,4)?)$";   return check(telephone, regex);          

php手机号码正则表达式:<?php   //正则表达式   $tel = "15558530459";//手机号码  if(strlen($tel) == "11")     //上面部分判断长度是不是11位   $n = preg_match_all("/13[123569]1\\d8|15[1235689]\\d8|188\\d8/",$tel,$array);   /*接下来的正则表达式("/131,132,133,135,136,139开头随后跟着任意的8为数字 '|'(或者的意思)   * 151,152,153,156,158.159开头的跟着任意的8为数字   * 或者是188开头的再跟着任意的8为数字,匹配其中的任意一组就通过了   * /")*/     var_dump($array); //看看是不是找到了,如果找到了,就会输出电话号码的   else     echo "长度必须是11位";     /*   * 虽然看起来复杂点,清楚理解!   * 如果有更好的,可以贴出来,分享快乐!   * */   ?>        

js手机号码正则表达式: function checkMobile()    var sMobile = document.mobileform.mobile.value    if(!(/^1[3|4|5|8][0-9]\\d4,8$/.test(sMobile)))     alert("不是完整的11位手机号或者正确的手机号前七位");     document.mobileform.mobile.focus();     return false;            

参考技术A 1(3[0-9]|47|5((?!4)[0-9])|7(0|1|[6-8])|8[0-9])\d8,8

匹配130-139 150-159(除去154号段) 147 170 171 176-178 180-189号段 比较精简的表达式
参考技术B /^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]8$/

本回答被提问者和网友采纳
参考技术C ^1[5384]\d9$

正则表达式手机号验证问题 急~~~

Mobile : /^((\(\d2,3\))|(\d3\-))?13\d9$/, 上面就是 如何让改成可以支持 现在189 188 155 150 等号段的手机号

参考技术A 匹配国内电话号码:\d3-\d8|\d4-\d7
正则表达式--验证手机号码:13[0-9]9
实现手机号前带86或是+86的情况:^((\+86)|(86))?(13)\d9$
电话号码与手机号码同时验证:(^(\d3,4-)?\d7,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\d9
提取信息中的中国固定电话号码:(\(\d3,4\)|\d3,4-|\s)?\d8
提取信息中的中国电话号码(包括移动和固定电话):(\(\d3,4\)|\d3,4-|\s)?\d7,14
提取信息中的中国邮政编码:[1-9]1(\d+)5
提取信息中的中国身份证号码:\d18|\d15
提取信息中的整数:\d+
提取信息中的浮点数(即小数):(-?\d*)\.?\d+
提取信息中的任何数字 :(-?\d*)(\.\d+)?
提取信息中的中文字符串:[\u4e00-\u9fa5]*
提取信息中的双字节字符串 (汉字):[^\x00-\xff]*
参考技术B /^((\(\d2,3\))|(\d3\-))?1[3,8,5]1\d9$/

以上是关于手机号正则表达式精简的主要内容,如果未能解决你的问题,请参考以下文章

判断手机号正则表达式

正则表达式手机号验证问题 急~~~

正则表达式对手机号的验证^[1][3-8]+\\d9

手机号码正则表达式验证

手机号码正则表达式

[转载]JS判断手机号是不是正确(正则表达式)