原创著作,产权保护 政府、投票、评选、公安、学校、问卷、视频会议专注发展中小企事业 系统报价 | 支付帐号 | 授权查证
    计算机著作版权登记号:2014SR032463 手机:+86-1373066-4304 | QQ:1213920482 欢迎选择智睿软件系统 欢迎选择智睿软件系统
智睿软件系统
实用函数:根据身份证自动获取出生年月日
来源:智睿 浏览:66110 次 发布时间:2019-11-04 14:55:58
'根据身份证获取出生年月日 
Function GetBirthday(str)
Dim dt
if len(str) = 15 then 
'注意:需要区分2000年出生的、2000年后出生的
dt = DateSerial("19" & Mid(str,7,2),Mid(str,9,2),Mid(str,11,2))
elseif len(str) = 18 then
dt = DateSerial(Mid(str,7,4), Mid(str, 11, 2), Mid(str, 13, 2)) 
else
dt = CDate("1900-01-01") 
end if
GetBirthday = dt 

End Function


<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
 <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 >
  <form id="Form1" method="post" runat="server">
   <table align="center">
    <tr>
     <td align="center">身份证:<input type="text" name="idCard" id="idCard" onBlur="javascript:showBirthday(document.all.idCard.value);"></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>
    </tr>
   </table>
  </form>
 </body>
</HTML>


【刷新页面】【加入收藏】【打印此文】 【关闭窗口】
上一篇:智睿政府网站管理系统 V 9.9.9 全新宽屏政府网站系统,政务机关网站系统 下一篇:智睿公安公众信息管理系统 V 10.2.2 公安信息网,公安内网网站系统