这是如何运作的?
编码:
a = {
replacers: {
YYYY: function () {
return this.getFullYear();
},
dd: function () {
var me = this,
day = me.getDate();
return (day < 10 ? '0' : '') + day;
},
d: function () {
var me = this;
return me.getDate();
}
},
format: function (date, format) {
var replacers = a.replacers;
// I just added a plus to get multiple digits and it works...
return format.replace(/\{([Yd]+)\}/g, function (str, p1) {
var formatter = replacers[p1];
if (formatter)
return formatter.call(date);
});
}
};
document.write(a.format(new Date(), '{dd} {d} {YYYY} {d} {dd}'));
结果:
05 5 2013 5 05
我使用+
来识别一个或多个字符是否正确?
当我扩展替换功能时,这里有什么陷阱吗?{xx}
我主要担心之前会有一场比赛{xxx}
。