强大的身份证号码验证,绝对成功

function getIdCardInfo(idcard){
        var sigma = 0;
        var a = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 );
        var w = new Array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2");
        for(var i = 0; i < 17; i++) {
            var ai = parseInt(idcard.substring(i, i + 1));
            var wi = a[i];
            sigma += ai * wi;
        }
        var number = sigma % 11;
        return idcard.substring(0,17)+w[number];
    }
    function idCard15To18(id){
        var W = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1);
        var A = new Array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2");
        var i,j,s=0;
        var newid;
        newid = id;
        newid = newid.substring(0,6)+"19"+newid.substring(6,id.length);
        for(i=0;i<newid.length;i++ ){
            j= parseInt(newid.substring(i,i+1))*W[i];
            s=s+j;
        }
        s = s % 11;
        newid=newid+A[s];
        return newid;
    }

js验证,value代码身份证号码

if(value.length==18){
     return getIdCardInfo(value)==value;
}else if(value.length==15){
     var id18=idCard15To18(value);
     return getIdCardInfo(id18)==value;
}else{
     return false;
}

 

转载于:https://www.cnblogs.com/snowbaby-kang/p/4549364.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值