如下所示:
复制代码 代码如下:
var acity={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:国外}
function iscardid(sid){
var isum=0 ;
var info= ;
if(!/^\d{17}(\d|x)$/i.test(sid)) return 你输入的身份证长度或格式错误;
sid=sid.replace(/x$/i,a);
if(acity[parseint(sid.substr(0,2))]==null) return 你的身份证地区非法;
sbirthday=sid.substr(6,4)+-+number(sid.substr(10,2))+-+number(sid.substr(12,2));
var d=new date(sbirthday.replace(/-/g,/)) ;
if(sbirthday!=(d.getfullyear()+-+ (d.getmonth()+1) + - + d.getdate()))return 身份证上的出生日期非法;
for(var i = 17;i>=0;i --) isum += (math.pow(2,i) % 11) * parseint(sid.charat(17 - i),11) ;
if(isum%11!=1) return 你输入的身份证号非法;
return true;//acity[parseint(sid.substr(0,2))]+,+sbirthday+,+(sid.substr(16,1)%2?男:女)
}