特别收集一些身份证验证算法 根据身份证判断性别和生日
<script type="text/javascript"> google_ad_client = "pub-6924533005275861"; google_ad_slot = "4211741364"; google_ad_width = 336; google_ad_height = 280; </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<%
@ 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" onclick ="showBirthday(document.all.idCard.value)" value ="OK" ></ td >
</ tr >
</ table >
</ form >
</ body >
</ HTML >
<! 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" onclick ="showBirthday(document.all.idCard.value)" value ="OK" ></ td >
</ tr >
</ table >
</ form >
</ body >
</ HTML >