/^1[3458]\d{9}$/当有19*的时候,/^1[34589]\d{9}$/

解决方案 »

  1.   

    楼上的有问题  141开头的就可以匹配你的  但是没有141这个号段...
      

  2.   

    第一位是1没问题,第二位和第三位要放在一起判断,之后8位你就重复8次\d,那个移动的1340-1348的就要具体注意一下....
      

  3.   

     我贴上点代码吧   判断前三位没问题   总之   我也在学,有什么问题相互交流一下。
    1((3\d)|(4[57])|(5[01256789])|(8\d))\d{8}
      

  4.   

    首先,谢谢各位的回答。
    至于说1340-1348 这个,不用做过多的判断,因为在电信里有1349,所以,134后边可以任意数字。
    不用做移动或联通等等这种分类控制。
    我那样些,可能有点误导大家了,只是需求方,是这样给我的。我就复制过来的。
    目前这个,13开始的,从131到139都有了,属于这个范畴的其实是13后边任意匹配数字。然后,15开头的,是除了154以外,可以任意匹配。14开头的,只有147和145.然后剩下18开头的,从0到9已经有了,也可以任意匹配。
    其实,目前,就要求匹配到前三位就可以了。我就怕哪天多了个141、149之类的,或者什么19*什么的,这个不好维护,所以,各位老大帮帮忙,看看有没什么好的办法。我这么解释一下,大家可能更明白一些了吧。
      

  5.   

    这个,貌似还不错。我明天去试试看。
      

  6.   


    可以改成:1(?:[38]\d|4[57]|5[01256789])\d{8}
      

  7.   

    ^(13[0-9]{9}|15[012356789][0-9]{8}|18[02356789][0-9]{8}|147[0-9]{8}$