【问题标题】:HTML is there a way to limit the year to 4 digits in date inputHTML有没有办法将日期输入中的年份限制为4位数字
【发布时间】:2020-11-03 10:24:20
【问题描述】:

我正在开发一个 django 应用程序。
我的表单中有日期输入:

<input type="date" name="date_of_birth" max="03.11.2020" max-length="8" pattern="[0-3][0-9].[01][0-9].[0-9]{4}" class="dateinput form-control" required id="id_date_of_birth">

它允许输入 6 位年份的日期,但我希望只能输入 4 位。 我也试着写了一个简单的脚本:

$(function() {
        $('#id_date_of_birth').change(function() {
            var date = $(this).val();
            console.log(date, 'change')
        });
    });

但它只会在我更改年份时开始。
我希望数字以 4 位而不是 6 位循环。
有人能告诉我如何将年份限制为 4 位数字吗?

【问题讨论】:

  • 请添加minimal reproducible example(至少有一次您的尝试“我尝试了带有模式的最大、最大长度属性。”
  • max(和min)的格式是yyyy-mm-dd
  • @Andreas 好吧,我的错。谢谢。但我仍然希望今年的数字转移到 4 个位置,而不是 6 个。
  • 如果类型为datetime-local,则格式为YYYY-MM-DDThh:mm。 (例如max="9999-12-31T23:59"

标签: javascript html jquery django


【解决方案1】:

添加属性max 来解决这个问题。浏览器默认不将年份字段限制为四位数。

https://www.w3schools.com/html/tryit.asp?filename=tryhtml5_input_max_min_date

【讨论】:

  • 它仍然允许输入 6 位数字。我知道如果年份太长,后端会返回错误。但我也不希望它在前端成为可能。
猜你喜欢
  • 2016-10-25
  • 2010-11-14
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 2014-08-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多