gpt4 book ai didi

asp.net - 在 JavaScript 中验证日期

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

我需要对日期字段进行用户验证,它的格式应该是 yyyyMMdd 并且不应超过 future 一年。我该怎么做呢?目前我只有一个粗略的正则表达式,这是不够的。

function VerifyDate(source, args)
{
var regexp = /^([1-2]{1}[0-9]{1})\d{2}([0][1-9]|[1][0-2])([0][1-9]|[1-2][0-9]|[3][0-1])$/
var result = args.Value.match(regexp);
if(result) {
args.IsValid = true;
} else {
args.IsValid = false;
}
}

最佳答案

使用正则表达式只检查格式。你可以保持简单:

^(\d{4})(\d{2})(\d{2})$

然后解析日期并检查范围:

function VerifyDate(source, args)
{
args.IsValid = false;
var regexp = /^(\d{4})(\d{2})(\d{2})$/;
var daysInMonth = function (y, m) {return 32-new Date(y, m, 32).getDate(); };

var ma = regexp.exec(args.Value);
if (ma && ma.length == 4 && ma[2] < 12 && ma[3] <= daysInMonth(ma[1], ma[2]))
{
var diff = new Date(ma[1], ma[2], ma[3]) - new Date();
args.IsValid = diff < 31536000000; // one year = 1000ms*60*60*24*365
}
}

关于asp.net - 在 JavaScript 中验证日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/456964/

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