关闭

身份证判断性别和生日-javascript

872人阅读 评论(0) 收藏 举报

<%@ 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) 字串6
   { //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) 

字串7

 

   +'-'+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;
   }
  }

字串5

 

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

字串1

 

   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;
  }

字串3

 

  // 求得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">性&nbsp;&nbsp;&nbsp;&nbsp;别:<input type="text" name="sex" id="sex"></td>
    </tr>
    <tr>
     <td align="center">生&nbsp;&nbsp;&nbsp;&nbsp;日:<input type="text" name="birthday" id="birthday"></td>

字串6


    </tr>
    <tr>
     <td align="center"><input type="button" onclick="showBirthday(document.all.idCard.value)" value="OK"></td>
    </tr>
   </table>
  </form>
 </body>
</HTML>  
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:209986次
    • 积分:3464
    • 等级:
    • 排名:第9551名
    • 原创:125篇
    • 转载:74篇
    • 译文:0篇
    • 评论:33条
    最新评论