如何在输入或选择日期时输入日期限制?

时间:2014-08-01 13:09:17

标签: javascript jquery html5

我想限制特殊年份: 例如:当他打字时,年份<= 2200;

<input type="date" max="2200-01-01" min="1900-01-01" class="form-control" id="regdate"
                   placeholder="Registration Date">

抱歉我的坏表达不好...... P.S没有提交! - 当你输入时,你可以键入2200或1900以下。

4 个答案:

答案 0 :(得分:0)

您可以使用验证来实现此目的。简单的日期范围验证

function dateCheck() {
var fDate = new Date("1900/01/01");
var lDate; = new Date("2200/01/01");
fDate = Date.parse(document.getElementById("fDate").value);
lDate = Date.parse(document.getElementById("lDate").value);

if(fDate <= lDate) {
    alert("true");
    return true;
}
alert("false");
return false;

}

答案 1 :(得分:0)

您的代码是正确的,将其包装在表单标签中,需要输入标签,它会起作用,当您尝试提交高于或低于最大值或最小值时,它将显示警报

                 <form>
          <input type="date" max="2200-01-01" min="1900-01-01" class="form-control" id="regdate"  placeholder="Registration Date" required />
               <input type="submit" />
                 </form>

Check the working fiddle here

答案 2 :(得分:0)

您可以使用以下小提琴作为参考

<body>

<form>

  Enter a date before 1980-01-01 and after1900-01-01:
  <input type="date" name="bday" min="1901-12-31" max="1979-12-31"><br>


  <input type="submit">
</form>
</body>

Demo

答案 3 :(得分:0)

您无法通过html执行此操作,但您可以使用js,例如此处http://fiddle.jshell.net/5Sup8/

$(function () {
    $('input').change(function () {
        var val = $(this).val().split('-');
        console.log(val);
        if (val[0] < 1900 || val[0] > 2200) {
            $(this).addClass('error');
        } else {
            $(this).removeClass('error');
        }
    });
});