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 ...