gpt4 book ai didi

javascript - 如何验证输入到 3 个单独字段中的日期?

转载 作者:行者123 更新时间:2023-11-30 18:29:19 25 4
gpt4 key购买 nike

我有三个日期输入字段 - 日、月、年。一旦输入,我应该验证它。使用以下代码:

$('#test').click(function(event) {
var daySelector = "#dd",
monthSelector = "#mm",
yearSelector = "#yyyy";
var day = $(daySelector).val() == "" ? 1 : parseInt($(daySelector).val(), 10);
var month = $(monthSelector).val() == "" ? 1 : parseInt($(monthSelector).val(), 10);
var year = parseInt($(yearSelector).val(), 10);
var date = new Date(year, month, day);
var result = !isNaN(date.getTime());
});

但它接受(即返回 true)错误值,例如 33/55/2000。我的错误在哪里? Demo

我试过了 another approach - 它也不能很好地工作。

最佳答案

日期对象自动转换溢出。

因此,如果您创建 32.01.2000 并且一月份只有 31 天,那么它将创建对象01.02.2000 日期

您必须将验证逻辑从“Is Nan”更改为更复杂的东西;)

有一点要注意:)

date.getMonth() 返回 0-11 -> 0 等于 1 月 :P 那是我最初回答错误的根源。看起来您必须减少发送到 Date 构造函数的值。

关于javascript - 如何验证输入到 3 个单独字段中的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10079192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com