JavaScript版EAN码校验算法

 
复制代码
    <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>
复制代码

 

posted @   jopny  阅读(629)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示