js 社会信用代码匹配

根据  http://www.saic.gov.cn/qyj/zyfb/gszjfb/201612/t20161208_232473.html 获取规则

$('#yyzz').blur(function(){

    var sc_code = document.getElementById("yyzz").value;  
    if(sc_code.length != 18 ){   
        $('#yyzz').next('.error_tip').html("社会信用代码长度错误")
$('#yyzz').next('.error_tip').attr({style:"color:red"})
$('#yyzz').next('.error_tip').show()
error_yyzz = true
    }  
    var reg = /^([0-9ABCDEFGHJKLMNPQRTUWXY]{2})([0-9]{6})([0-9ABCDEFGHJKLMNPQRTUWXY]{9})([0-9ABCDEFGHJKLMNPQRTUWXY])$/;  
    if(!reg.test(code)){  
      $('#yyzz').next('.error_tip').html("社会信用代码格式错误")
$('#yyzz').next('.error_tip').attr({style:"color:red"})
$('#yyzz').next('.error_tip').show()
error_yyzz = true
    }  
    var str = '0123456789ABCDEFGHJKLMNPQRTUWXY'; 
    var ws =[1,3,9,27,19,26,16,17,20,29,25,13,8,24,10,30,28];  
    var sc_codes  = new Array();  
    sc_codes[0] = code.substr(0,code.length-1);  

    sc_codes[1] = code.substr(code.length-1,code.length);  

    codes = sc_codes[1].charCodeAt ()

    for(i=65;i<=72;i++){ 
    if(codes== i){
    sc_codes[1]=10+(i-65)
    }
    }
    for(i=74;i<=78;i++){
       if(codes== i){
    sc_codes[1]=18+(i-74)
    }
    }
    for(i=80;i<=82;i++){
      if(codes== i){
    sc_codes[1]=23+(i-80)
    }
    }
    if(sc_codes[1]=='T'){
    sc_codes[1]=26
    }
    if(sc_codes[1]=='U'){
    sc_codes[1]=27
    }
    for(i=87;i<=89;i++){
    if(codes== i){
    sc_codes[1]=28+(i-87)
    }
    }
    var sum = 0;  
    for(var i=0;i<17;i++){  
        sum += str.indexOf(sc_codes[0].charAt(i)) * ws[i];  
    }  
    var c18 = 31 - (sum % 31);  
    if(c18 != codes[1]){  
      $('#yyzz').next('.error_tip').html("社会信用代码有误")
$('#yyzz').next('.error_tip').attr({style:"color:red"})
$('#yyzz').next('.error_tip').show()
error_yyzz = true 
    }  
})
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值