Javascript 使用js对表进行字母数字排序

Javascript 使用js对表进行字母数字排序,javascript,alphanumeric,sorttable.js,Javascript,Alphanumeric,Sorttable.js,我正试图修改sorttable.js以添加字母数字排序选项 现在,如果按alpha排序,包含数字的字符串将按如下方式排序: 字符串1 字符串10 字符串100 字符串2 如果将其设置为数字排序,则在排序时会忽略字母字符。我正试图找出如何将这两个函数结合起来,使其同时按这两个函数排序。以下是两个功能: sort_numeric: function(a,b) { aa = parseFloat(a[0].replace(/[^0-9.-]/g,'')); if (isNaN(

我正试图修改sorttable.js以添加字母数字排序选项

现在,如果按alpha排序,包含数字的字符串将按如下方式排序:

  • 字符串1
  • 字符串10
  • 字符串100
  • 字符串2
如果将其设置为数字排序,则在排序时会忽略字母字符。我正试图找出如何将这两个函数结合起来,使其同时按这两个函数排序。以下是两个功能:

  sort_numeric: function(a,b) {
    aa = parseFloat(a[0].replace(/[^0-9.-]/g,''));
    if (isNaN(aa)) aa = 0;
    bb = parseFloat(b[0].replace(/[^0-9.-]/g,''));
    if (isNaN(bb)) bb = 0;
    return aa-bb;
  },
  sort_alpha: function(a,b) {
    if (a[0]==b[0]) return 0;
    if (a[0]<b[0]) return -1;
    return 1;
  },
sort\u数值:函数(a,b){
aa=parseFloat(a[0]。替换(/[^0-9.-]/g');
如果(isNaN(aa))aa=0;
bb=parseFloat(b[0]。替换(/[^0-9.-]/g');
如果(isNaN(bb))bb=0;
返回aa-bb;
},
排序α:函数(a,b){
如果(a[0]==b[0])返回0;

如果函数中有(a[0],则获取2个数字。将它们转换为字符串。找出最长的数字。添加“前导零”到另一个,然后像往常一样对alpha进行排序。

您将希望执行“自然排序”,请看这里:Bryan,谢谢。链接到那里的脚本非常有效!这也很有效。非常感谢。不过,我正在实现Bryan链接到的脚本,因为我相信它比我自己修改脚本的能力更可靠。:)