JS 校驗身份證號真實性

2022-05-05 17:06:12 字數 2336 閱讀 2617

if(!this.testidno(this.form.idno))
testidno(value) ;

// 判斷是否為空

let isempty = function (card)

} //檢查號碼是否符合規範,包括長度,型別

let iscardno = function (card)

//這個**表示身份證可以為空

//身份證號碼為15位或者18位,15位時全為數字,18位前17位為數字,最後一位是校驗位,可能為數字或字元x

var reg = /(^\d$)|(^\d(\d|x)$)/;

if (reg.test(card) === false)

return true;

};//取身份證前兩位,校驗省份

let checkprovince = function (card)

var province = card.substr(0, 2);

if (vcity[province] == undefined)

return true;

};//檢查生日是否正確

let checkbirthday = function (card)

var len = card.length;

//身份證15位時,次序為省(3位)市(3位)年(2位)月(2位)日(2位)校驗位(3位),皆為數字

if (len == '15') )(\d)(\d)(\d)(\d)$/;

var arr_data = card.match(re_fifteen);

var year = arr_data[2];

var month = arr_data[3];

var day = arr_data[4];

var birthday = new date('19' + year + '/' + month + '/' + day);

return verifybirthday('19' + year, month, day, birthday);

}//身份證18位時,次序為省(3位)市(3位)年(4位)月(2位)日(2位)校驗位(4位),校驗位末尾可能為x

if (len == '18') )(\d)(\d)(\d)(\d)([0-9]|x)$/;

var arr_data = card.match(re_eighteen);

var year = arr_data[2];

var month = arr_data[3];

var day = arr_data[4];

var birthday = new date(year + '/' + month + '/' + day);

return verifybirthday(year, month, day, birthday);

}return false;

};//校驗日期

let verifybirthday = function (year, month, day, birthday)

return false;

}return false;

};//校驗位的檢測

let checkparity = function (card)

//15位轉18位

card = changefivteentoeighteen(card);

var len = card.length;

if (len == '18')

valnum = arrch[cardtemp % 11];

if (valnum == card.substr(17, 1))

return false;

}return false;

};//15位轉18位身份證號

let changefivteentoeighteen = function (card)

if (card.length == '15')

card += arrch[cardtemp % 11];

return card;

}return card;

};//checkcard = function ()

//檢查省份

if (checkprovince(card) === false)

//校驗生日

if (checkbirthday(card) === false)

//檢驗位的檢測

if (checkparity(card) === false)

return true;

}

JS身份證真實性校驗(二)

var wi 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1 加權因子 var validecode 1,0,10,9,8,7,6,5,4,3,2 身份證驗證位值.10代表x function idcardinvalid idcard else if idcard.len...

js校驗身份證號

校驗身份證號是否正確 var vcity function identitycodevalid code 校驗長度,型別 if iscardno code false 檢查省份 if checkprovince code false 校驗生日 if checkbirthday code false ...

驗證身份證真實性

前提 需要第三方正規表示式的類。驗證身份證格式 bool verifyidcard nsstring idcardstr 把身份證號碼前17位數字和係數相乘的結果相加。int sum 0 for int i 0 i 17 i int mod sum 11 用加出來和除以11得出餘數 餘數只可能有0 ...