博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

javascipt-正则表达式练习--验证电话号码

Posted on 2013-04-25 12:37  Step at a time  阅读(373)  评论(0编辑  收藏  举报

验证输入的是不是一个电话号码:

(1)电话号码由数字、"("、")"和"-"构成

(2)电话号码为8位或者11位(不含区号)

(3)如果电话号码中包含有区号 那么区号为三位或四位

(4)区号用"("、")"或"-"和其他部分隔开

(5)移动电话号码为11或12位,如果为12位,那么第一位为0

(6)11位移动电话号码的第一位和第二位为"13"

(7)12位移动电话号码的第二位和第三位为"13"

参考代码:

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>ggggg</title>
<link rel="stylesheet" type="text/css" href="">
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<!--js代码可以放置在任意位置,按照先后顺序依次执行 一般放在head标签之间-->
<script type="text/javascript">
    //url 解析 http://www.sohu.com:8080/abc/index.htm 
    function test(){
        var inp=document.getElementById("inp").value;
        //var regExp=/^(http):(\/\/)(www)([a-zA-Z0-9\.]+):[0-9]+([a-zA-Z\/])*(htm|html)$/i;
        var regExp=/^(http):(\/\/)(w)\3\3\.([a-zA-Z0-9]+)\.[a-z]+(\.)?[a-z]+:[0-9]+\/([a-zA-Z])*(\/)?[a-zA-Z\/]+\.(htm|html)$/gi;

        if(regExp.test(inp)){
            window.alert("是");
        }else{
            window.alert("不是");
        }

/*        var res=regExp.exec(inp)
        for(var i=0; i<res.length;i++){
            window.alert(res[i]);
        }
        */
    }

    function test2(){
        var inp=document.getElementById("inp2").value;
        //验证电话号码 与加区号和不加区号
        //var regExp=/^(\d{3,4}?-|\(\d{3,4}\))?\d{8,11}$/;
        //验证手机号码 11位或者12位
        //var regExp=/^(0)?(13)\d{9,9}$/;
        //var regExp=/^(((\d{3,4}?-|\(\d{3,4}\))?)|(0)?)\d{8,11}$/;
        var regExp=/^((\d{3,4}?-|\(\d{3,4}\))?\d{8,11}$)|(^0{0,1}13[0-9]{9}$)/;

        if(regExp.test(inp)){
            window.alert("是电话号码");
        }else{
            window.alert("不是");
        }
    }
</script>
</head>
<body>
    <input id="inp" style="width:300px" type="text" /><input type="button"  value="验证url" onclick="test()"><br/>
    <input id="inp2" style="width:300px" type="text" /><input type="button"  value="验证电话号码" onclick="test2()"><br/>
    
</body>
</html>