手机号正则表达式精简

/^1((((3[4-9])|(5[0-27-9])|(8[2-478])|(78)|(47))|((3[0-2])|([58][56])|(76)|(45))|(([3... /^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)))\d{8})|(1349[0-9]{7})$/
由于现在号段众多,又得符合要求,以上是我自己写出的正则,代码是正确的,就是看着不够精简
展开
 我来答
SusieJiang94
2018-04-26 · TA获得超过4611个赞
知道小有建树答主
回答量:30
采纳率:100%
帮助的人:4397
展开全部

精简后: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]))\\d{8}$";    return check(cellphone, regex);   }     /**    * 验证固话号码    *     * @param telephone    * @return    */   public static boolean checkTelephone(String telephone) {   String regex = "^(0\\d{2}-\\d{8}(-\\d{1,4})?)|(0\\d{3}-\\d{7,8}(-\\d{1,4})?)$";   return check(telephone, regex);   }        

php手机号码正则表达式:<?php   //正则表达式   $tel = "15558530459";//手机号码  if(strlen($tel) == "11")   {   //上面部分判断长度是不是11位   $n = preg_match_all("/13[123569]{1}\d{8}|15[1235689]\d{8}|188\d{8}/",$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]\d{4,8}$/.test(sMobile))){     alert("不是完整的11位手机号或者正确的手机号前七位");     document.mobileform.mobile.focus();     return false;    }   }      

huaihkiss
2017-08-16 · 超过21用户采纳过TA的回答
知道答主
回答量:90
采纳率:100%
帮助的人:50.2万
展开全部
1(3[0-9]|47|5((?!4)[0-9])|7(0|1|[6-8])|8[0-9])\d{8,8}

匹配130-139 150-159(除去154号段) 147 170 171 176-178 180-189号段 比较精简的表达式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者BbPV9CfuDM
2014-12-15 · TA获得超过1445个赞
知道小有建树答主
回答量:977
采纳率:85%
帮助的人:183万
展开全部
/^(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友abd2d76a4
2017-04-18 · TA获得超过964个赞
知道小有建树答主
回答量:1419
采纳率:0%
帮助的人:479万
展开全部
^1[5384]\d{9}$
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式