http://tablesorter.com/docs/example-parsers.html
Итак, в этом примере показано, как создать собственную логику упорядочения. Посмотрите на функцию:
format: function(s) {
// format your data for normalization
return s.toLowerCase().replace(/good/,2).replace(/medium/,1).replace(/bad/,0);
},
Вам нужно написать функцию javascript, чтобы получить текстовые и числовые части вашей строки "sometext3", а затем отформатировать число с нулевым заполнением "sometext00000003", это решит проблему сортировки и не изменит способ ее отображения в клиенте. .
Вот простой пример:
<script>
function normalizeAlphaNumeric(text) {
r = new RegExp("([^\\d]*)(\\d*)");
var match = r.exec(text);
return match[1] + pad(match[2]);
}
function pad(num) {
var s = "000000000" + num;
return s.substr(s.length-8); // i chose 8
}
document.write(normalizeAlphaNumeric("sometext1") + "<br/>");
document.write(normalizeAlphaNumeric("sometext2")+ "<br/>");
document.write(normalizeAlphaNumeric("sometext3")+ "<br/>");
document.write(normalizeAlphaNumeric("sometext10")+ "<br/>");
</script>
Вывод этого:
sometext00000001
sometext00000002
sometext00000003
sometext00000010
Что можно сортировать сейчас.