身份证处理函数

///////////////////////////////////////////////////////////////////////////////////
// 身份证处理函数
///////////////////////////////////////////////////////////////////////////////////

//+————————————
// 根据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)); }

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.