2011-09-09 13 views
0

私はこのような数字のテーブルを持っています:12000.34デフォルトのオプションで完全に並べ替えます。jQuery TableSorter Parser for Europe

私はイタリア語なので、数字は12.000,34(小数点の場合はカンマ、千の場合はドット)のように書式を設定します。

私のようなフォーマットですが、私のテーブルは正しい方法で並べ替えを停止します。

だから私は自分のカスタムパーサーを構築する:

jQuery.tablesorter.addParser({ 
      id: "commaDigit", 
      is: function(s) { 
       return /^[0-9]?[0-9,\.]*$/.test(s); 
      }, 
      format: function(s) { 
       s = s.replace("%","") 
        .replace(/€/g, '') 
        .replace(/^\s+|\s+$/g,"") 
        .replace(/,/g, "") 
       return jQuery.tablesorter.formatFloat(s); 
      }, 
      type: "numeric" 
     });  

それは12000,34のような数字で動作しますが、12.000,34で、私はその点をどうするかを持っていません?また

、私は「-1,23」「0,00」「+3,68」などの「整数」

がどのように達成するための私の「S」の文字列を操作することができますまた、並べ替えたいのですがそれ?

+0

正規表現を削除して削除する必要があります。そして、フォーマット機能の中で – ManseUK

答えて

1
jQuery.tablesorter.addParser({ 
      id: "commaDigit", 
      is: function(s) { 
       return /^[0-9]?[0-9,\.]*$/.test(s); 
      }, 
      format: function(s) { 
       s = s.replace("%","") 
        .replace(/€/g, '') 
        .replace(/^\s+|\s+$/g,"") 
        .replace(",", "") 
        .replace(".", "") 
       return jQuery.tablesorter.formatFloat(s); 
      }, 
      type: "numeric" 
     });  

これは、を削除します。列の値から

+0

ありがとうございますが、私はそれが全く動作しないと誓っています! : –

+1

今働いて - ここでテストしました - > http://jsfiddle.net/QLTCC/2/ – ManseUK

+0

素晴らしい:Dありがとう!今は "+3,45"と "-2,34" "整数! –

1

ラガー番号の場合、すべての '。'を置き換える必要があります。次のように: と少なくとも1桁の数字だけを受け入れたい(空の行がないので)、少なくとも '。'または '、'を入力してください。

jQuery.tablesorter.addParser({ 
     id: "commaDigit", 
     is: function(s) { 
      return /^[0-9]+([,\.][0-9]+)+$/.test(s); 
     }, 
     format: function(s) { 
      s = s.replace("%","") 
       .replace(/€/g, '') 
       .replace(/^\s+|\s+$/g,"") 
       .replace(",", "") 
       .replace(/\./g, "") 
      return jQuery.tablesorter.formatFloat(s); 
     }, 
     type: "numeric" 
    });