2011-01-06 12 views
0

Hallo Ich möchte einen Parser wie den unten beschriebenen schreiben, außer ich möchte es Zeichen mit den Ziffern wie 345j, 982p0 nehmen. Was würde ich ändern, um Charaktere mit Zahlen zu haben?benutzerdefinierte Parser für Ziffern und Zeichen

ts.addParser({ 
    id: "digit", 
    is: function (s, table) { 
     var c = table.config; 
     return $.tablesorter.isDigit(s, c); 
    }, 
    format: function (s) { 
     return $.tablesorter.formatFloat(s); 
    }, 
    type: "numeric" 
}); 
+1

Möchten Sie, dass "bobjones" gültig ist? Was ist mit "Bobjones"? –

+0

Bitte bearbeiten Sie Ihre Frage und legen Sie Ihre Quelle in einen Codeblock. Markieren Sie den Quellcode und drücken Sie dann ctrl-shift-k, oder klicken Sie auf die Schaltfläche mit den passenden Klammern. '{}' –

+0

Möchten Sie auch eine beliebige Kombination von Zahlen und Buchstaben zulassen? Was ist mit Interpunktion oder Leerzeichen? –

Antwort

1

Angenommen, Sie beliebige Kombination von Buchstaben zulassen möchten und/oder Zahlen, aber sonst nichts, könnte man einen regulären Ausdruck verwenden:

ts.addParser({ 
    id: "alphanumeric", 
    is: function(s, table) { 
     return /^[a-z0-9]*$/i.test(s); 
    }, 
    format: function(s) { 
     return s; 
    }, 
    type: "text" 
}); 

Der reguläre Ausdruck /^[a-z0-9]*$/i, das entspricht einer beliebigen Kombination von nur a-z und 0-9, Groß- und Kleinschreibung. Ich habe auch Ihre Format-Funktion geändert, da Sie dies nicht als Float analysieren können und den Namen und Typ ändern können, um die Änderungen im Parser widerzuspiegeln.