Я создаю настраиваемый плагин sort для DataTables, который будет сортировать числовые столбцы, которые также содержат нечисловые строки. Я получил часть, где он помещает строки «N/A» внизу, но, похоже, не может понять, как заставить его игнорировать запятые в числах.Игнорировать нечисловые символы в числах для DataTables sort
Например:
$ 12,443.00
362.123.231
N/A
N/A
нуль
34,242.42
23.234
нуль
ниже код удается игнорировать все, кроме запятые в числах.
Код:
function numeric_sort(a, b, high) {
var reg = /[+-]?((\d+(\.\d*)?)|\.\d+)([eE][+-]?[0-9]+)?/;
a = a.match(reg);
a = a !== null ? parseFloat(a[0]) : high;
b = b.match(reg);
b = b !== null ? parseFloat(b[0]) : high;
return ((a < b) ? -1 : ((a > b) ? 1 : 0));
}
jQuery.extend(jQuery.fn.dataTableExt.oSort, {
"numeric-empty-bottom-asc": function (a, b) {
return numeric_sort(a, b, Number.POSITIVE_INFINITY);
},
"numeric-empty-bottom-desc": function (a, b) {
return numeric_sort(a, b, Number.NEGATIVE_INFINITY) * -1;
}
});
Я получил код от: http://jsfiddle.net/6qmkY/
Любая помощь будет оценена.
Пожалуйста, сделайте запрос на тяну, если вы найдете некоторые полезные исправления к исходному плагину https://github.com/davidkonrad/datatables-sort-numbers-ignore-text – davidkonrad