javascript 的几个简单验证

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE>验证手机号与获取radio按钮的值 </TITLE>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <SCRIPT LANGUAGE="JavaScript">
  <!--
 function validateMobile(){

  var value = document.getElementsByName("mobile")[0].value;
  var phonePattern = /^1[358]/d{9}$/;
  alert(phonePattern.test(value));
  document.getElementsByName("mobile")[0].value="";
  }

  function getRadioValue(){
  var gender = document.getElementsByName("gender");
  for(var i=0;i<gender.length;i++){
   if(gender[i].checked){
   alert(gender[i].value);
   break;
   }
  }
  }
  //-->
  </SCRIPT>
 </HEAD>

 <BODY>
  <FORM METHOD=POST ACTION="">
 手机号:<INPUT TYPE="text" NAME="mobile">要求:第一位为1,第二位可以是3/5/8,长度为11位
 <br/>
 <input type="button" value="验证手机号" onclick="validateMobile()"/>
 <br/>

 <input type="radio" name="gender" value="MAN" checked>先生 <input type="radio" name="gender" value="WOMEN">女士
<input type="button" value="获取单选框的值" onclick="getRadioValue()"/>
  </FORM>
 </BODY>
</HTML>

---------------------------------------------------------------------------

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
 <HEAD>
  <TITLE>组拼与拆开电话号码</TITLE>
 <meta http-equiv="Content-Type" content="text/html; charset=GBK">
  <SCRIPT LANGUAGE="JavaScript">
  <!--
 function splitphone(){

  var telnum = document.getElementsByName("tel")[0].value;
  var tels = telnum.split("-");
  if(tels.length >=2 ){
   document.getElementsByName("forepart")[0].value=tels[0];
   document.getElementsByName("maintel")[0].value=tels[1];
   if(tels.length == 3){
    document.getElementsByName("extension")[0].value=tels[2];
   }
  }
 }

  function groupphone(){
  var forepart = document.getElementsByName("forepart")[0].value;
  var maintel = document.getElementsByName("maintel")[0].value;
  var extension = document.getElementsByName("extension")[0].value;
  var prefect = forepart + "-" + maintel;
  if(extension != ""){
   prefect += "-" + extension;
  }
   document.getElementsByName("tel")[0].value=prefect;
  }
  //-->
  </SCRIPT>
 </HEAD>

 <BODY>
  <FORM METHOD=POST ACTION="">
 组拼后的电话号码:<input type="text" name="tel" value="">010-23939393, 010-329833-33<br/>
  区号:<input value="010" size="4" name="forepart" maxlength="4" >
  
  电话:<input name="maintel" size="8" maxlength="8">
  分机号:<input name="extension" size="4" maxlength="4">
<br/>
 <input type="button" value="组拼电话号码" onclick="groupphone()"/> <input type="button" value="拆开电话号码" onclick="splitphone()"/>
  </FORM>
 </BODY>
</HTML>

---------------------------------------------------------

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>纵向导航菜单</title>
<style>
  #course {
 border-width:0px 1px 1px 1px;
 border-style:solid;
 border-color:#f3c3f3;
 width:120px;
 }
  #course dt,#course dd {
 margin:0;
 padding:3px;
 font-size:12px;
 }
  #course dt {
 border-top: 1px solid #f3c3f3;
 font-weight: bold;
 background-color:#c3f3c3;
 }
</style>
</head>

<body>
<dl id="course">
 <dt>专家课堂</dt>
  <dd><a href="http://www.jbpm.com">工作流</a></dd>
  <dd><a href="Oraclehttp://www.oracle.com">Oracle</a></dd>
  <dd><a href="ejb">http://www.babasport.com">ejb 3.0</a></dd>
 <dt>脱产就业</dt>
  <dd><a href="#">java基础</a></dd>
  <dd><a href="#">java实战</a></dd>
  <dd><a href="#">java精华</a></dd>
  <dd><a href="#">.net就业实战</a></dd>
 <dt>周末充电</dt>
  <dd><a href="#">java精华</a></dd>
  <dd><a href="#">.net精华</a></dd>
</dl>
</body>
</html>

 

对于身份证号码,经常有人只是判断身份证的位数是否为15或18位,是否全部都是数字,这种判断是错误的,因为18位身份证号码允许最后一位为X,不过必须根据特定的算法(最后一位为验证码),下面这段代码就是判断身份证号码是否合法的。

<script language="JavaScript">
function CheckAvailable(){
//获得所输入的身份证号码的值
var idcardno = document.AgtmngStaffForm.idcardno.value;

//判断身份证是否为15位或者18位,其中isNumber函数是判断值是否全部是数字,这里就不给出了
if ((idcardno == "")||(!(isNumber(idcardno))&&(idcardno.length == 15))||
         ((idcardno.length != 15)&&(idcardno.length != 18)))
{
    alert("身份证号码应是15或18位数字,请输入正确!");

    //将鼠标的焦点定位到身份证那个输入框中
    document.AgtmngStaffForm.idcardno.focus();
    return false;
}
else if (idcardno.length == 18)
{//对18位身份证的判断,18位允许最后一位为X,不过必须根据特定的算法
    var Wi = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
 var Ai = new Array('1','0','X','9','8','7','6','5','4','3','2');
 
 if (idcardno.charAt(17) == 'x')
 {
  idcardno = idcardno.replace("x","X");
  document.AgtmngStaffForm.idcardno.value = idcardno;      
 }
 
 var checkDigit = idcardno.charAt(17); 
 var cardNoSum = 0;
     
 for (var i=0; i<idcardno.length-1; i++)
 {
  cardNoSum = cardNoSum + idcardno.charAt(i)*Wi[i];
    }

 var seq = cardNoSum%11;
 var getCheckDigit = Ai[seq];
 
 if (checkDigit != getCheckDigit)
 {
  alert("您的身份证号码输入有误!");
  document.AgtmngStaffForm.idcardno.focus();
  return false;
 }    
 return true;
} 
else
{
    return true;
}
}
</script>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值