前台商品条码效验算法

EAN效验规则 EAN的内容从右到左的顺序编号:N13、N12、N11、N10、N9、N8、N7、N6、N5、N4、N3、N2、N1,其中N1是准备要求的校验位: 1、C1=(N2+N4+N6+N8+N10+N12)*3; 2、C2=N3+N5+N7+N9+N11+N13; 3、将C1与C2相加,取其个位数,设为C3; 4、校验位N1=10-C3

$("#barcode",_currentModal).on(change,function () {
    var a=0;
    var b=0;
    var first=0;
    var barcode=$("#barcode",_currentModal).val();
    var length=barcode.length
    if (length!==13){
        $("#prompt",_currentModal).html("输入有误,请重新输入").css("color","red");
        $("#barcode",_currentModal).val();
        return;
    }

    for (var i=0;i<length;i++){
        if(i%2!==0){
           var x=barcode.charAt(i)-0;
           a+=x;
        }else {
           var y=barcode.charAt(i)-0;
           b+=y;
        }
    }
    first=barcode.charAt(0)-0;
    var c=(a*3+(b-first))+"";
    var d=10-(c.charAt(c.length-1)-0);
    if (first==d){
        $("#prompt",_currentModal).html("正确").css("color","green");
    }else {
        $("#prompt",_currentModal).html("输入有误,请重新输入").css("color","red");
        $("#barcode",_currentModal).val();
    }
});
经验分享 程序员 微信小程序 职场和发展