Subversion Repositories wimsdev

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
12436 guerimand 1
(function(){
2
  var cleanNumber = function(i) {
3
    return i.replace(/[^\-?0-9.]/g, '');
4
  },
5
 
6
  compareNumber = function(a, b) {
7
    a = parseFloat(a);
8
    b = parseFloat(b);
9
 
10
    a = isNaN(a) ? 0 : a;
11
    b = isNaN(b) ? 0 : b;
12
 
13
    return a - b;
14
  };
15
 
16
  Tablesort.extend('number', function(item) {
17
    return item.match(/^[-+]?[£\x24Û¢´€]?\d+\s*([,\.]\d{0,2})/) || // Prefixed currency
18
      item.match(/^[-+]?\d+\s*([,\.]\d{0,2})?[£\x24Û¢´€]/) || // Suffixed currency
19
      item.match(/^[-+]?(\d)*-?([,\.]){0,1}-?(\d)+([E,e][\-+][\d]+)?%?$/); // Number
20
  }, function(a, b) {
21
    a = cleanNumber(a);
22
    b = cleanNumber(b);
23
 
24
    return compareNumber(b, a);
25
  });
26
}());