2006年8月28日
身份证处理函数
///////////////////////////////////////////////////////////////////////////////////
// 身份证处理函数
///////////////////////////////////////////////////////////////////////////////////
//+------------------------------------
// 根据17位身份证算出18位身份证
//-------------------------------------
function CalID_17to18(sId)
{
var aW = new Array(1,2,4,8,5,10,9,7,3,6,1,2,4,8,5,10,9,7);
var aA = new Array("1","0","X","9","8","7","6","5","4","3","2");
var aP = new Array(17);
var aB = new Array(17);
var i,iSum = 0;
for (i=1;i<18;i++)
aP[i] = sId.substr(17-i, 1);
for (i=1;i<18;i++) {
aB[i] = parseInt(aP[i]) * parseInt(aW[i]);
iSum += aB[i];
}
return sId + aA[iSum%11];
}
//+------------------------------------
// 根据15位身份证算出18位身份证
//-------------------------------------
function CalID_15to18(sId)
{
return CalID_17to18(sId.substr(0,6) + "19" + sId.substr(6));
}
订阅:
博文评论 (Atom)




1 条评论:
发表评论