js验证电话号码

<%@ LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">  
//去空格
String.prototype.Trim = function() { 
var m = this.match(/^\s*(\S+(\s+\S+)*)\s*$/); 
return (m == null) ? "" : m[1]; 
}

//验证手机号
String.prototype.isMobile = function() { 
return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim())); 
}

//验证电话
String.prototype.isTel = function()
{
    //"兼容格式: 国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
    //return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
    return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
}


function chkForm(form) { 
        if (form.tel.value.isMobile()||form.tel.value.isTel()) { 
            form.tel.value = form.tel.value.Trim(); 
            alert("您的电话/手机号码是:" + form.tel.value);
            return true; 
        } 
        else { 
            alert("请输入正确的手机号码或电话号码\n\n例如:13916752109或0712-3614072"); 
            tel.focus();
            return false;        
        }  

// 我实际项目中是这样用的
//    if(form.userName.value==''){
//    alert('手机号码不能为空!');
//    form.userName.focus();
//    return false;
//    }
//    if(!form.userName.value.isMobile()) { 
//    alert("请输入正确的手机号码!!"); 
//    form.userName.focus();
//    return false; 
//    }       
} 
</script>

</head>

<body>
<form name="form1" method="post" action="" onsubmit="return chkForm(this);"> 
    <input type="text" name="tel" value="13916752109" size="15" />
    <input type="submit" value="测 试" /> 
</form> 
</body>
</html>
==================正则表达式理解========================
return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim()));

var Mobile = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[0-9]\d{8}$/

正则表达式部分:
\d 代表一个数字
{7,8} 代表7-8位数字(表示电话号码)
{3,} 代表分机号码
d{2,3} 代表区号
\+]\d{2,3} 代表国际区号
^13\d{5,9}$/ //130–139。至少5位,最多9位
/^153\d{4,8}$/ //联通153。至少4位,最多8位
/^159\d{4,8}$/ //移动159。至少4位,最多8位

=======================================================================
用户名:<input id="userName" name="userName" type="text" />
绑定号码<input type="text" id="bindMobilePhone" name="bindMobilePhone" />
<input name="ok" type="submit" value="注 册" onclick="return mycheck();"/>

<script type="text/javascript">
function mycheck()
{
//中文、字母或者下划线进行注册!3~8位
var name = /[\w\u4e00-\u9fa5]{3,8}/
//手机号码
var Mobile = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[0-9]\d{8}$/

if(document.getElementById('userName').value==''){
   alert('用户名不能为空!');
   return false;
}else if(!name.test(document.getElementById('userName').value)){
   alert('请输入中文、字母或者下划线进行注册!3~8位');
   return false;
}
if(document.getElementById('bindMobilePhone').value==''){
   alert('绑定号码不能为空!');
   return false;
}else if(!Mobile.test(document.getElementById('bindMobilePhone').value)){
   alert('请输入正确的手机号!');
   return false;
}
}
</script>

http://blog.csdn.net/lsl861107/article/details/6669629

posted @ 2012-08-20 17:05  haiwei.sun  阅读(714)  评论(0编辑  收藏  举报
返回顶部