WEB开发网
开发学院WEB开发ASP.NET 根据身份证判断性别和生日 阅读

根据身份证判断性别和生日

 2006-09-07 17:13:15 来源:WEB开发网   
核心提示:<%@ Page language="c#" Codebehind="CordBirthday.aspx.cs" AutoEventWireup="false" Inherits="CodeDatum.birthday.CordBirthday

<%@ Page language="c#" Codebehind="CordBirthday.aspx.cs" AutoEventWireup="false" Inherits="CodeDatum.birthday.CordBirthday" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
 <HEAD>
  <title>CordBirthday</title>
  <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
  <meta name="CODE_LANGUAGE" Content="C#">
  <meta name="vs_defaultClientScript" content="javaScript">
  <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
  <script language="Javascript">
  function showBirthday(val)
  {
  var birthdayValue;
  if(15==val.length)
  { //15位身份证号码
   birthdayValue = val.charAt(6)+val.charAt(7);
   if(parseInt(birthdayValue)<10)
   {
   birthdayValue = '20'+birthdayValue;
   }
   else
   {
   birthdayValue = '19'+birthdayValue;
   }
   birthdayValue=birthdayValue+'-'+val.charAt(8)+val.charAt(9)+'-'+val.charAt(10)+val.charAt(11);
   if(parseInt(val.charAt(14)/2)*2!=val.charAt(14))
   document.all.sex.value='男';
   else
   document.all.sex.value='女';
   document.all.birthday.value=birthdayValue;
  }
  if(18==val.length)
  { //18位身份证号码
   birthdayValue=val.charAt(6)+val.charAt(7)+val.charAt(8)+val.charAt(9)+'-'+val.charAt(10)+val.charAt(11) 

  +'-'+val.charAt(12)+val.charAt(13);
   if(parseInt(val.charAt(16)/2)*2!=val.charAt(16))
   document.all.sex.value='男';
   else
   document.all.sex.value='女';
   if(val.charAt(17)!=IDCard(val))
   {
   document.all.idCard.style.backgroundColor='#ffc8c8';
   }
   else
   {
   document.all.idCard.style.backgroundColor='white';
   }
   document.all.birthday.value=birthdayValue;
  }
  }

  // 18位身份证号最后一位校验
  function IDCard(Num)
  {
  if (Num.length!=18)
   return false;
  var x=0;
  var y='';

  for(i=18;i>=2;i--)
   x = x + (square(2,(i-1))%11)*parseInt(Num.charAt(19-i-1));
  x%=11;
  y=12-x;
  if (x==0)
   y='1';
  if (x==1)
   y='0';
  if (x==2)
   y='X';
  return y;
  }

  // 求得x的y次方
  function square(x,y)
  {
  var i=1;
  for (j=1;j<=y;j++)
   i*=x;
  return i;
  }
  </script>
 </HEAD>
 <body MS_POSITIONING="GridLayout">
  <form id="Form1" method="post" runat="server">
  <table align="center">
   <tr>
   <td align="center">身份证:<input type="text" name="idCard" id="idCard"></td>
   </tr>
   <tr>
   <td align="center">性  别:<input type="text" name="sex" id="sex"></td>
   </tr>
   <tr>
   <td align="center">生  日:<input type="text" name="birthday" id="birthday"></td>
   </tr>
   <tr>
   <td align="center"><input type="button" value="OK"></td>
   </tr>
  </table>
  </form>
 </body>
</HTML>

Tags:根据 身份证 判断

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接