js代码判断身份证号合法性
/**
* 檢驗18位身份證號碼(15位號碼可以只檢測生日是否正確即可)
* @author wolfchen
* @param cid 18為的身份證號碼
* @return Boolean 是否合法
**/
function isCnNewID(cid){
??? var arrExp = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];//加權因子
??? var arrValid = [1, 0, "X", 9, 8, 7, 6, 5, 4, 3, 2];//校驗碼
???
??? if(/^\d{17}\d|x$/i.test(cid)){
??????? var sum = 0, idx;
??????? for(var i = 0; i < cid.length - 1; i++){
??????????? // 對前17位數字與權值乘積求和
??????????? sum += parseInt(cid.substr(i, 1), 10) * arrExp[i];
??????? }
??????? // 計算模(固定算法)
??????? idx = sum % 11;
??????? // 檢驗第18為是否與校驗碼相等
??????? return arrValid[idx] == cid.substr(17, 1).toUpperCase();
??? }else{
??????? return false;
??? }
}
//測試
console.log(isCnNewID("370103196912154018"))
超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生總結
以上是生活随笔為你收集整理的js代码判断身份证号合法性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js代码计算济南出租车打车费用
- 下一篇: js根据应纳税所得额计算税金