<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.111cn.net/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312" />
<title>javascript教程身份证号码验证函数</title>
function isidnum(str)
{
var city={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江 ",
31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北 ",
43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏 ",
61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"***",71:"台湾",81:"香港",82:"澳门",91:"国外 "}
var isum=0
var info=""
if(!/^d{17}(d|x)$/i.test(str))
return false;
str=str.replace(/x$/i,"a");
if(city[parseint(str.substr(0,2))]==null)
{
alert( "error:非法地区");
return false;
}
sbirthday=str.substr(6,4)+"-"+number(str.substr(10,2))+"-"+number(str.substr(12,2));
var d=new date(sbirthday.replace(/-/g,"/"))
if(sbirthday!=(d.getfullyear()+"-"+ (d.getmonth()+1) + "-" + d.getdate()))
{
alert("error:非法生日");
return false;
}
for(var i = 17;i>=0;i --)
isum += (math.pow(2,i) % 11) * parseint(str.charat(17 - i),11)
if(isum%11!=1)
{
alert("error:非法证号");
return false;
}
return city[parseint(str.substr(0,2))]+","+sbirthday+","+(str.substr(16,1)%2?"男":"女")
}
</head>
<body>
</body>
</html>