制作日期输入掩码时出现问题

时间:2011-09-04 13:55:25

标签: javascript jquery

如何在不使用插件的情况下屏蔽(隐藏)日期输入,如下所示:

格式化: YYYY/MM/DD =在输入中显示为=> ____/__/__

这是我的代码不起作用:

$('.date_input').delegate("input.date:text", 'keyup', function () {
    //var dateMMDDYYYRegex = '^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$';
    $val = $(this).val().match(/[0-9]/g).reverse().join("").match(/[0-9]{3,3}/g).join("/").match(/./g).reverse().join("");
    $(this).val($val)
});

Example of the code

1 个答案:

答案 0 :(得分:0)

$('.date_input').delegate("input.date:text", 'keypress', function (e) {
    var char = getChar(e || window.event);
    if (char != "/")
    {
        this.value += "_";
        return false;
    }
});

function getChar(event) {
  if (event.which == null) {
    return String.fromCharCode(event.keyCode) // IE
  } else if (event.which!=0 && event.charCode!=0) {
    return String.fromCharCode(event.which)   // the rest
  } else {
    return null // special key
  }
}


//You can replace getChar with the jQuery equivalent.