找回密码
 注册
搜索
查看: 5074|回复: 0

身份证号码验证脚本

[复制链接]
发表于 2007-8-28 19:08:51 | 显示全部楼层 |阅读模式
function issfzok(s,usersex,UserBirthday_y,UserBirthday_m)
{
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,"
var iSum=0
var info=""
var sId=""
var sidsex=""

if (s.length==15) sId=s.substr(0,6)+"19"+s.substr(6,9)+"0";
else if (s.length==18) sId=s;
else return "身份证位数不对";

if (s.length==15) sidsex=s.substring(14,15);
else if (s.length==18) sidsex=s.substring(16,17);
else return "身份证位数不对";

sidsex=sidsex % 2 ==0 ? "2" : "1";
if (sidsex!=usersex)
return "身份证与性别不匹配";

xb=Number(sId.substr(16,1))%2

if(!/^\d{17}(\d|x)$/i.test(sId)) return "身份证中有非法字符";
sId=sId.replace(/x$/i,"a");
if(aCity.indexOf(sId.substr(0,2))==-1)return "身份证错误:非法地区";

if(sId.substr(6,4)!=UserBirthday_y | Number(sId.substr(10,2))!=Number(UserBirthday_m)) 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!=UserBirthday) return "身份证错误:非法生日";
if (s.length==18)
{
        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 "";
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宁德市腾云网络科技有限公司 ( 闽ICP备2022007940号-5|闽公网安备 35092202000206号 )

GMT+8, 2025-6-19 04:18 , Processed in 0.015130 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表