Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery表排序器中的IP地址排序器问题_Javascript_Jquery_Tablesorter - Fatal编程技术网

Javascript jQuery表排序器中的IP地址排序器问题

Javascript jQuery表排序器中的IP地址排序器问题,javascript,jquery,tablesorter,Javascript,Jquery,Tablesorter,因此,我将jQuery(最新)表排序器添加到我的表中,除了包含ip地址(ipv4)的列之外,其他所有列都可以正常工作。它正在对其中的大多数进行分类,但遗漏了其他一些 如果我错了,请纠正我,但在这种情况下不需要解析器,对吗?关于如何解决这个问题有什么想法吗 谢谢您使用的是原始的tablesorter(v2.0.5)还是我的 原始版本包含一个ipAddress解析器,因此只要ipAddress的格式正确,它就可以工作 另一方面,tablesorter的分叉版本不再在tablesorter核心中包含i

因此,我将jQuery(最新)表排序器添加到我的表中,除了包含ip地址(ipv4)的列之外,其他所有列都可以正常工作。它正在对其中的大多数进行分类,但遗漏了其他一些

如果我错了,请纠正我,但在这种情况下不需要解析器,对吗?关于如何解决这个问题有什么想法吗


谢谢

您使用的是原始的tablesorter(v2.0.5)还是我的

原始版本包含一个ipAddress解析器,因此只要ipAddress的格式正确,它就可以工作

另一方面,tablesorter的分叉版本不再在tablesorter核心中包含ipAddress解析器。它被移动到一个单独的文件()中,并重命名为“ipv4Address”(“ipAddress”仍然适用于向后兼容)。取而代之的是图像解析器


显示ipv4、ipv6和MAC地址排序。

表排序器中的ipAddress解析器对于具有任何一个位数级别的IP地址(例如,123.45.6.78中的6)被破坏

以下是股票代码:

ts.addParser({
    id: "ipAddress",
    is: function (s) {
        return /^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test(s);
    }, format: function (s) {
        var a = s.split("."),
            r = "",
            l = a.length;
        for (var i = 0; i < l; i++) {
            var item = a[i];
            if (item.length == 2) {
                r += "0" + item;
            } else {
                r += item;
            }
        }
        return $.tablesorter.formatFloat(r);
    }, type: "numeric"
});
ts.addParser({
id:“ipAddress”,
is:功能{
返回/^\d{2,3}[\.]\d{2,3}[\.]\d{2,3}[\.]\d{2,3}$/.test;
},格式:函数{
var a=s.split(“.”),
r=“”,
l=a.长度;
对于(变量i=0;i
以下是更正的版本:

ts.addParser({
    id: "ipAddress",
    is: function (s) {
        return /^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/.test(s);  /* CHANGED */
    }, format: function (s) {
        var a = s.split("."),
            r = "",
            l = a.length;
        for (var i = 0; i < l; i++) {
            var item = a[i];
            if (item.length == 1) {                 /* NEW */
                r += "00" + item;                   /* NEW */
            } else if (item.length == 2) {          /* CHANGED */
                r += "0" + item;
            } else {
                r += item;
            }
        }
        return $.tablesorter.formatFloat(r);
    }, type: "numeric"
});
ts.addParser({
id:“ipAddress”,
is:功能{
返回/^\d{1,3}[\.]\d{1,3}[\.]\d{1,3}[\.]\d{1,3}$/.test;/*已更改*/
},格式:函数{
var a=s.split(“.”),
r=“”,
l=a.长度;
对于(变量i=0;i
开箱即用,没有IP地址为我正确排序。似乎自动检测IP地址排序是可行的,然后使用这个自定义解析器解决了这个问题。