gpt4 book ai didi

javascript - 简单的 Javascript 验证

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

我有一个日期字段,例如日/月/年。我有验证代码,一旦日期不是正确的格式 dd/mm/yyyy

将不允许用户继续

我想要做的是有一个新字段,该字段的默认值为 dd/mm/yyyy。我希望用户能够像 dd/mm/yyyy 一样离开这个字段并继续,否则如果他们在字段中输入任何其他内容,它需要是一个有效日期。所以 dd/mm/yyyy 被接受,任何有效日期例如2012 年 12 月 12 日

else if(!validateDate(document.lending.date.value)){alert("Please enter a valid date. The date must be of the format dd/mm/yyyy");document.lending.date.focus();return false;}                                                          




function validateDate(thedate){
if(thedate.length <11)
{
try{
day = thedate.substring(0,2);
mmonth = thedate.substring(3,5);
year = thedate.substring(6,10);
if((thedate.charAt(2)!="/") || (thedate.charAt(5)!="/") || (day<1) || (day>31) || (mmonth<1) || (mmonth>12) || (year<1999) || (year>9999) || (!validateNumberWithoutDecimal(day)) || (!validateNumberWithoutDecimal(mmonth)) || (!validateNumberWithoutDecimal(year)))
{
return false;
}
else
return true;
}catch(e){return false;}
}
else
return false;

}

我正在考虑编写一个新函数 validateMyNewDate 并这样做,以便它接受 dd/mm/yyyy 以及验证日期。现在我的逻辑有点困惑。

最佳答案

您可以尝试使用 Date 构造函数进行验证:

var isValidDate = function(str) {
return !!new Date(str).getTime();
}

它应该适用于 'dd/mm/yyyy' 格式,f.ex:

isValidDate('12/12/1999'); // true
isValidDate('12/52/1999'); // false

如果您想确保用户使用了准确的“dd/mm/yyyy”格式,您可以将其与正则表达式结合使用:

更新:已添加,因此它还验证默认输入“dd/mm/yyyy”。

var isValidDate = function(str) {
return str == 'dd/mm/yyyy' ||
( /^\d{2}\/\d{2}\/\d{4}$/.test(str) && new Date(str).getTime() );
}

关于javascript - 简单的 Javascript 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13762628/

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