js判斷身份證號

2021-07-25 11:25:37 字數 2005 閱讀 4321

var vcity=;

//身份證號合法性驗證

//支援15位和18位身份證號

//支援位址編碼、出生日期、校驗位驗證

identitycodevalid:function(card)

//校驗長度,型別

if(this.iscardno(card) === false)

//檢查省份

if(this.checkprovince(card) === false)

//校驗生日

if(this.checkbirthday(card) === false)

//檢驗位的檢測

if(this.checkparity(card) === false)

return true;

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

iscardno:function(card)

$)|(^\d(\d|x)$)/;

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

return true;

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

checkprovince:function(card)

return true;

},

//檢查生日是否正確

checkbirthday:function(card)

)(\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 this.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 this.verifybirthday(year,month,day,birthday);

} return false;

},

//校驗日期

verifybirthday:function(year,month,day,birthday)

return false;

} return false;

},

//校驗位的檢測

checkparity:function(card)

valnum = arrch[cardtemp % 11];

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

return false;

} return false;

},

//15位轉18位身份證號

changefivteentoeighteen:function(card)

card += arrch[cardtemp % 11];

return card;

} return card;

},

多話不說直接上**:

js判斷身份證號是否正確

js判斷身份證號是否正確 包括15位,和18位身份證號碼驗證 身份證號碼驗證start 加權因子 var wi 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1 身份證驗證位值.10代表x var validecode 1,0,10,9,8,7,6,5,4,3,2 func...

js 身份證號驗證

function iscardid sid var isum 0 var info if d d x i.test sid return 身份證長度或格式錯誤 sid sid.replace x i,a if acity parseint sid.substr 0,2 null return 身份證...

js校驗身份證號

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