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