首页 > 编程语言 > 详细

JavaScript版EAN码校验算法

时间:2019-07-24 14:50:50      阅读:79      评论:0      收藏:0      [点我收藏+]
 
    <script type="text/javascript">
        $(document).ready(function () {            
            $("#btnCalc").click(() => {
                var str = $("#eanCode").val();
                $("#content").html(getParity(str));
            })
        });


        /**JavaScript版EAN码校验算法
         *EAN13例子:690123456789
         *计算其校验符的过程为:前12位的奇数位的和c1:6 + 0 + 2 + 4 + 6 + 8 = 26   前12位的偶数位和c2:9 + 1 +
         * 3 + 5 + 7 + 9 = 34
         * 将奇数和与偶数和的三倍相加c1+c2*3:26 + 34 * 3 = 128  取结果的个位数:128的个位数为8   
         * 用10减去这个个位数:10 - 8 = 2    所以校验码为2
         * (注:如果取结果的个位数为0, 那么校验码不是为10 (10 - 0 = 10),而是0。)
         */
         var getParity = (code) => {
            var c1 = 0; 
            var c2 = 0;
            for (var i = 0; i < code.length; i += 2) {
                c1 += code.charAt(i) - ‘0‘;   //转换为数字
                c2 += code.charAt(i + 1) - ‘0‘;
            }
            var cc = 10 - (c1 + c2 * 3) % 10;
            if (cc == 10) {
                cc = 0;
            }
            return code + cc;
        }
    </script>

 

JavaScript版EAN码校验算法

原文:https://www.cnblogs.com/jopny/p/11237874.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!