以下是根據身份證號碼編碼規則,使用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 idcardvalidate(idcard) else if (idcard.length == 18) else
} else
}/**
* 判斷身份證號碼為18位時最後的驗證位是否正確
* @param a_idcard 身份證號碼陣列
* @return
*/function istruevalidatecodeby18idcard(a_idcard)
for ( var i = 0; i < 17; i++)
var valcodeposition = sum % 11; // 得到驗證碼所位置
if (a_idcard[17] == validecode[valcodeposition]) else
}/**
* 驗證18位數身份證號碼中的生日是否是有效生日
* @param idcard 18位書身份證字串
* @return
*/function isvaliditybrithby18idcard(idcard18)else
}/**
* 驗證15位數身份證號碼中的生日是否是有效生日
* @param idcard15 15位書身份證字串
* @return
*/function isvaliditybrithby15idcard(idcard15)else
}//去掉字串頭尾空格
function trim(str)
方法二: 以下是根據正規表示式:
//規則
hanzirule: function (name) $/;
if (!reg.test(name)) else
},identitycodevalid:function (code) ;
var tip = "";
var pass = true;
if (!code || !/^\d(18|19|20)?\d(0[1-9]|1[12])(0[1-9]|[12]\d|3[01])\d(\d|x)$/i.test(code))
else if (!city[code.substr(0, 2)])
else
var last = parity[sum % 11];
if (parity[sum % 11] != code[17]) }}
//if (!pass) alert(tip);
return pass;
},
var name = this.ebname.string;
var id = this.ebid.string;
if(!this.hanzirule(name))
if(!this.identitycodevalid(id))
panel.getcomponent('tips').showtips('認證成功!');
js校驗身份證號
校驗身份證號是否正確 var vcity function identitycodevalid code 校驗長度,型別 if iscardno code false 檢查省份 if checkprovince code false 校驗生日 if checkbirthday code false ...
身份證號正則校驗
正則匹配身份證號 分為18位和15位 yyyy mm dd 375 0 十八位 yy mm dd 75 0 十五位 地區 1 9 d 地區 嚴格 1 6 1 9 50 d 補充重慶地區50 年的前兩位 18 19 23 d 1800 2399 年的後兩位 d 月份 0 1 9 10 11 12 天數...
身份證號校驗 前端
身份證號碼驗證規則 輸入身份證號碼 提交 如下 身份證號碼驗證規則 title script src script script function 18 19 20 d 0 1 9 10 11 12 0 2 1 9 10 20 30 31 d 0 9xx 先用正則判斷是否為正確的格式if partn...