tablesorter jquery ライブラリを使用して、時刻/日付の列をソートしようとしています。正規表現と並べ替えに問題があります。誰か助けてくれませんか?私の時刻/日付の形式は次のとおりです。
午後2時6分
3月28日(木)
このような。別の行に日付を入れます。私の正規表現はこれです:
/$(\d{1,2}):(\d\d):(\d\d) (a\.m\.|p\.m\.) (\d{1,2})\/(\d{1,2})\/(\d{4})$/
日付を解析する私の関数は次のとおりです。
$.tablesorter.addParser({
id: 'DateParser',
is: function(s) {
return false;
},
format: function(s) {
var date = s.match(/$(\d{1,2}):(\d\d):(\d\d) (a\.m\.|p\.m\.) (\d{1,2})\/(\d{1,2})\/(\d{4})$/)
var d = date[1];
var m = date[2];
var y = date[3];
var H = date[4];
var M = date[5];
var S = date[6];
var MS = 0;
return new Date(y, m, d, H, M, S, MS).getTime();
},
type: 'numeric'
});
私が得ているエラーは次のとおりです:「Uncaught TypeError: Cannot read property '1' of null」これを行う最善の方法は、正規表現を使用することだと思います。しかし、私が間違っている場合は、より良い方法に変更したいと考えています。何か案は?