输入日期后,无法使用RegEx格式化日期

时间:2018-11-28 17:20:55

标签: javascript jquery regex date date-formatting

我是新来的,我想格式化该日期,但是可以单独格式化日期和蛾,它的后面会加上'0'。

    var format = "mm/dd/yyyy";
var match = new RegExp(format
    .replace(/(\w+)\W(\w+)\W(\w+)/, "^\\s*($1)\\W*($2)?\\W*($3)?([0-9]*).*")
    .replace(/m|d|y/g, "\\d"));
var replace = "$1/$2/$3$4"
    .replace(/\//g, format.match(/\W/));

function doFormat(target)
{
    target.value = target.value
        .replace(/(^|\W)(?=\d\W)/g, "$10")   // padding
        .replace(match, replace)             // fields
        .replace(/(\W)+/g, "$1");            // remove repeats
}

$("input[name='birthdate']:first").keyup(function(e) {
   if(!e.ctrlKey && !e.metaKey && (e.keyCode == 32 || e.keyCode > 46))
      doFormat(e.target)
});

例如:如果日期是11/12/1990,如果我想将12修改为11,则一旦输入1,它将自动附加0设为11/01/1990

请找到相应的JSFiddle链接JSFiddle

0 个答案:

没有答案