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