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

时间:2022-11-04 09:48:40
代码如下:
  
< 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 >