注册 登录
编程论坛 JavaScript论坛

求教JS大侠解释以下原理,本人真心想学JS!

wang123qishe 发布于 2012-05-16 09:31, 666 次点击
<script language="javascript">
<!--//输入脚本内容
function chkmobile(mode)
//mode=0检测是否为正确手机号,mode=1检查是否是联通手机,mode=2检查是否为移动手机
{
var ismb =document.all.mobile.value; //取得输入的手机号

if(ismb=="")
{
alert("手机号码不能为空!");
document.all.mobile.focus();
return false;
}
mb =new Number(ismb)   //定义一个数字对象mb
var islong = ismb.length; //分解出该手机号的长度
var isvar = ismb.substr(0,3);
//alert(isvar);
if(isNaN(mb)!=true)
{ //判断手机号是否全为数字
 if(mode="0"){//只检查是否为手机号
  if(islong == 11) //如果长度=11则正确
   {
     if(isvar == 135)
     {
     return true;
     }
     else if(isvar == 136)
     {
     return true;
     }
     else if(isvar == 137)
     {
     return true;
     }
     else if(isvar == 138)
     {
     return true;
     }
     else if(isvar == 139)
     {
     return true;
     }
  else if(isvar == 130)
  {
  return true;
  }
     else if(isvar == 131)
     {
     return true;
     }
     else if(isvar == 132)
     {
     return true;
     }
     else if(isvar == 133)
     {
     return true;
     }
  else{
  alert("不存在该类型手机号码!");
  document.all.mobile.focus();
  return false;
  }
 }
 
 else if(mode="1")//是否联通
   {
    if(islong == 11) //如果长度=11则正确
      {
       if(isvar == 130)
       {
       return true;
       }
       else if(isvar == 131)
       {
       return true;
       }
       else if(isvar == 132)
       {
       return true;
       }
       else if(isvar == 133)
       {
       return true;
       }
       else{
    alert("非联通手机号码!");
    document.all.mobile.focus();
    return false;
    }
   }
    else
     {
      alert("手机号码长度错误!");
      document.all.mobile.focus();
      return false;
   }
   }
 else if(mode="2"){//是否移动
  if(islong == 11) //如果长度=11则正确
    {
     if(isvar == 135)
     {
     return true;
     }
     else
     if(isvar == 136)
     {
     return true;
     }
     else
     if(isvar == 137)
     {
     return true;
     }
     else
     if(isvar == 138)
     {
     return true;
     }
     else
     if(isvar == 139)
     {
     return true;
     }
     else{
  alert("非移动手机号码!");
  document.all.mobile.focus();
  return false;
  }
 }
   else
   {
   alert("手机号码长度错误!");
   document.all.mobile.focus();
   return false;
   }
   }
}
  else
   {alert("错误的调用模式!");}
}
   else
   {
   alert("手机号码不能为字符!");
   document.all.mobile.value="";
   document.all.mobile.focus();
   }
}//结束
//--->
</script>
可以一起交流加QQ82566742
2 回复
#2
coretear2012-07-02 16:24
用正则 很简单 搞定的事 搞的这么郁闷
#3
coretear2012-07-02 16:26
程序代码:
/*
用途:检查输入手机号码是否正确
输入:
s:字符串
返回:
如果通过验证返回true,否则返回false
*/
function isMPhone( s ){
var regu =/^((\(\d{3}\))|(\d{3}\-))?13[0-9]\d{8}|15[0-9]\d{8}|18[0-9]\d{8}/;
var re = new RegExp(regu);
    if (re.test(s)) {
        return true;
    }else{
        return false;
    }
}

给你个简单方法
1