追加0前面的单位数

时间:2013-03-28 10:04:16

标签: javascript regex

您好我正试图在单位数的情况下添加0天数/月。我尝试使用正则表达式,但它似乎不起作用。有什么我想念的吗?

var newDate = new Date();
            alert(newDate);
            newDate.setDate(newDate.getDate() + 1);
            alert(newDate);
            var year = newDate.getFullYear();
            alert(year);
            var month = (newDate.getMonth()+1).replace(/\b(\d{1})\b/g, '0$1');
            alert(month);
            var day = newDate.getDate().replace(/\b(\d{1})\b/g, '0$1');
alert(day);

3 个答案:

答案 0 :(得分:0)

您在这里的号码上正在运行replace

var month = (newDate.getMonth()+1).replace(/\b(\d{1})\b/g, '0$1');
// ...
var day = newDate.getDate().replace(/\b(\d{1})\b/g, '0$1');

在运行replace之前,您需要将其转换为String。

var month = (newDate.getMonth()+1).toString().replace(/\b(\d{1})\b/g, '0$1');
var day = newDate.getDate().toString().replace(/\b(\d{1})\b/g, '0$1');

答案 1 :(得分:0)

我最好使用这些结构。

var month = (newDate.getMonth()+1).toString();
    month = month.length < 2 ? '0' + month : month;
alert(month);

var day = (newDate.getDate()+1).toString();
    day = day.length < 2 ? '0' + day : day;
alert(day);

答案 2 :(得分:0)

这个怎么样:

var month = "" + (newDate.getMonth()+1);
if (month.length==1) month = "0" + month;
alert(month);
var day = "" + newDate.getDate();
if (day.length == 1) day = "0" + day;
alert(day);