专注于.Net

享受编程的乐趣
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

js验证输入是否为手机号码或电话号码

Posted on 2008-06-05 17:18  古道飘零客  阅读(13278)  评论(2编辑  收藏  举报
代码如下:
  
<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() {  
    with(document.form1){
        
if (tel.value.isMobile()||tel.value.isTel())  {  
            tel.value 
= tel.value.Trim();  
            alert(
"您的电话/手机号码是:" + tel.value);
            
return true;  
        } 
        
else {  
            alert(
"请输入正确的手机号码或电话号码\n\n例如:13916752109或0712-3614072"); 
            tel.focus();
            
return false;        
        }          
    }
}  
</script>  
<form name="form1" method="post" action="" >  
    
<input type="text" name="tel" value="13916752109" size="15" />
    
<input type="button" value="测 试"  onclick="return chkForm()"/>  
</form>