我想要对看起来像这样的日期进行排序: 7月26日
这是我尝试添加解析器:
var lMonthNames = {};
lMonthNames["Jan"] = "01";
lMonthNames["Feb"] = "02";
lMonthNames["Mar"] = "03";
lMonthNames["Apr"] = "04";
lMonthNames["May"] = "05";
lMonthNames["Jun"] = "06";
lMonthNames["Jul"] = "07";
lMonthNames["Aug"] = "08";
lMonthNames["Sep"] = "09";
lMonthNames["Oct"] = "10";
lMonthNames["Nov"] = "11";
lMonthNames["Dec"] = "12";
ts.addParser({
id: 'monthDay',
is: function(s) {
return false;
},
format: function(s) {
if (s.length > 0) {
var date = s.match(/^(\d{1,2})[ ](\w{3})[ ](\d{4})$/);
var m = lMonthNames[date[2]];
var d = String(date[1]);
if (d.length == 1) {d = "0" + d;}
return '' + m + d;
} else {
return '';
}
},
type: 'numeric'
});
但是firebug控制台告诉我date为null var m = lMonthNames [date [2]]; 你能选择它没有价值的原因吗?
答案 0 :(得分:1)
因为您拥有的正则表达式与您提供的数据不匹配。
您的匹配内容包括:26 Jul 2010
,而不是26 Jul
。
更改表格中的数据,或将正则表达式更改为:
var date = s.match(/^(\d{1,2})[ ](\w{3})$/);