首页 > js里把2015-5-2转成2015-05-02的正则怎么写?

js里把2015-5-2转成2015-05-02的正则怎么写?

如题,当月和日只有一位时在前面补一个0


额,为什么replace里面要用函数呢

正向预测不捕获 + 捕获子表达式应该就可以

"2015-05-12".replace(/-(\d)(?=-|$)/g, '-0$1')

var dateStr='2015-5-2';
dateStr=dateStr.replace(new RegExp('([0-9]{4})\-([0-9]{1,2})\-([0-9]{1,2})'),function(match,p1,p2,p3){
if(p2.length==1) p2='0'+p2;
if(p3.length==1) p3='0'+p3;
return [p1,p2,p3].join('-');

});
console.log(dateStr);

有一个库叫moment. js 一般人我不告诉他


"2015-5-2".replace(/(?=\b\d\b)/g, '0')

var d = "2015-5-2";
d.replace(/\d+/g, function(m){ return m.length >= 2 ? m : '0'+m;});

我擦,比较条件写错了都,已修正


给个取巧的 replace(/\-(\d)\-/,'-0$1-0')

【热门文章】
【热门文章】