首页 > JS&HTML > 手机号验证正则表达式

手机号验证正则表达式

昨天找了好久,终于在一个站上把这个手机号验证的正则表达式给扒下来了,

手机号验证的正则为:

var reg =/^0{0,1}(13[0-9]|15[7-9]|153|156|18[7-9])[0-9]{8}$/;

var reg =/^0{0,1}(13[0-9]|15[0-9])[0-9]{8}$/;

移动手机号的验证正则为:

var reg =/^0{0,1}(13[4-9]|15[7-9]|15[0-2]|18[7-8])[0-9]{8}$/;

2009.11.23 新增加移动151,152号段,但是没有在源码演示中放出,下面代码已经更新

这可是包括15x话段的哈。嗯。。

手机号的那个,各位大爷可以用第一个,也可以用第二个,您随意吧,我不知道手机号现在都有15几了,就都弄上了。。

    <input type="text" id="mobile" name="mobile" onblur="if (value=='') {value='请输入您的手机号'}" onfocus="if(value=='请输入您的手机号') {value=''}" value="请输入您的手机号"/>
   
    <input type="button" name="china_mobile" value="校验是否是移动手机号" onclick="CheckChinaMobileID(document.getElementById('mobile').value)"/>
   
    <input type="button" name="is_mobile" value="校验是否是手机号" onclick="CheckIsMobile(document.getElementById('mobile').value)"/>
    function CheckChinaMobileID(mobile){
       
        if (mobile==""){
            alert("请填写手机号码!");
            return false;
        }
        if(isNaN(mobile)||(mobile.length!=11)){
            alert("手机号码为11位数字!请正确填写!");
            return false;
        }
        var reg =/^0{0,1}(13[4-9]|15[7-9]|15[0-2]|18[7-8])[0-9]{8}$/;
        if(!reg.test(mobile))
        {
            alert("您的手机号码不是移动号码,请重新输入");
           
            return false;
        }
        alert("大爷,这个真是移动的手机号");
        return true;
    }
    function CheckIsMobile(mobile){
       
        if (mobile==""){
            alert("请填写手机号码!");
            return false;
        }
        if(isNaN(mobile)||(mobile.length!=11)){
            alert("手机号码为11位数字!请正确填写!");
            return false;
        }
       
        var reg =/^0{0,1}(13[0-9]|15[0-9])[0-9]{8}$/;
        if(!reg.test(mobile))
        {
            alert("您的手机号码不正确,请重新输入");
           
            return false;
        }
        alert("大爷,这个真是手机号,是哪的我不知道");
        return true;
    }

具体演示效果请见,因为box.net暂时无法访问,就不给出下载地址了,如果群众有需要可以和我说

PS:今天GOOGLE PR再次神奇的更新,本站已经是3了。。嘿嘿,嘿嘿。。

  1. jfbcb 六 22nd, 2010 @ 12:45 | #21

    :mrgreen: 可以验联通的么

  2. simaopig 六 22nd, 2010 @ 12:52 | #22

    @jfbcb
    我的这个没有把联通加进去。主要是因为我不知道联通的号段。

    你看一下那个正则,非常的简单。你只需要把联通的号段放进去就OK了。呵。 :mrgreen:

  3. jfbcb 六 28th, 2010 @ 15:58 | #23

    ;-) 3Q...谢谢大哥..了..

  4. simaopig 六 28th, 2010 @ 15:59 | #24

    @jfbcb
    不客气。其实知道号段后挺容易的。呵。 :razz:

  5. 松松 九 2nd, 2010 @ 14:48 | #25

    13477777777
    也行啊,不专业

  6. 松松 九 2nd, 2010 @ 14:49 | #26

    13000000000有这样的号码吗

  7. simaopig 九 2nd, 2010 @ 14:52 | #27

    @松松
    什么不专业呢?没太明白您的意思,是说我写的不专业吗?

    另外,13000000000 这样的号码,理论上是会有的。

评论提交中, 请稍候...
评论分页 1 2

留言

可以使用的标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
Trackbacks & Pingbacks ( 0 )
  1. 还没有 trackbacks