在javascript中的文本框上实现verhoeff算法?

在javascript中的文本框上实现verhoeff算法?,javascript,Javascript,我必须在html页面的文本框中实现12位verhoeff算法。我在网上找到了这个10位数的代码。请告诉我如何实现它,并将其更改为12位数字 String.prototype.verhoeffCheck = (function() { var d = [[0,1,2,3,4,5,6,7,8,9], [1,2,3,4,0,6,7,8,9,5], [2,3,4,0,1,7,8,9,5,6],

我必须在html页面的文本框中实现12位verhoeff算法。我在网上找到了这个10位数的代码。请告诉我如何实现它,并将其更改为12位数字

          String.prototype.verhoeffCheck = (function()
        {
    var d = [[0,1,2,3,4,5,6,7,8,9],
            [1,2,3,4,0,6,7,8,9,5],
            [2,3,4,0,1,7,8,9,5,6],
            [3,4,0,1,2,8,9,5,6,7],
            [4,0,1,2,3,9,5,6,7,8],
            [5,9,8,7,6,0,4,3,2,1],
            [6,5,9,8,7,1,0,4,3,2],
            [7,6,5,9,8,2,1,0,4,3],
            [8,7,6,5,9,3,2,1,0,4],
            [9,8,7,6,5,4,3,2,1,0]];
    var p = [[0,1,2,3,4,5,6,7,8,9],
            [1,5,7,6,2,8,3,0,9,4],
            [5,8,0,3,7,9,6,1,4,2],
            [8,9,1,6,0,4,3,5,2,7],
            [9,4,5,3,1,2,6,8,7,0],
            [4,2,8,6,5,7,3,9,0,1],
            [2,7,9,3,8,0,6,4,1,5],
            [7,0,4,6,9,1,3,2,5,8]];
    var j = [0,4,3,2,1,5,6,7,8,9];

    return function()
    {
        var c = 0;
        this.replace(/\D+/g,"").split("").reverse().join("").replace(/[\d]/g, function(u, i, o){
            c = d[c][p[i&7][parseInt(u,10)]];
        });
        return (c === 0);
    };
})();

提前感谢。

您尝试过什么吗?提示:尝试查找二面体组$D_6$的表是的,我尝试将此代码包装在函数中,并从文本框“onKeyUp”事件调用该函数。但是这种力不起作用。在尝试12位数的版本之前,我们先尝试让10位数的版本起作用。只有10位数的0-9。这些表适用于任意长度的数字串。阅读javascript。它不在乎字符串的长度,也不在乎在函数中拆分每个数字。