gpt4 book ai didi

使用日期对象的 javascript 日期验证

转载 作者:行者123 更新时间:2023-12-03 16:37:55 25 4
gpt4 key购买 nike

根据http://www.codingforums.com/archive/index.php/t-98569.html ,日期验证可以使用 javascript 的日期对象来完成。

我有一个类似的场景,我在单独的文本框中有单独的年、月、日期,这些文本框通过正则表达式进行验证。现在我想利用 JS 的日期对象来检查一个月中的天数和跳跃年份验证不是由 RegExp 验证完成的。但是上面链接中讨论的内容对我来说不太适用。例如,

<script type="text/javascript">
var dy= new Date(2001,2,30);
alert(dy.getFullYear()+" "+dy.getMonth()+" "+dy.getDate());
</script>

按原样返回日期。 dy.getMonth() 不应该返回类似 -1 的东西来表明二月份不存在 30 天吗?如果使用 Date 对象无法做到这一点,请提出一些替代方法来验证日期。

更新:我刚刚找到了另一个链接(http://internotredici.com/article/checkdateinjavascript/),它说的是一样的。PS:我正在研究相当老的 JS1.2。

最佳答案

您可以根据日、月、年位来制作日期,然后检查这些位是否正确。

function isvalid_mdy(s){
var day, A= s.split(/\D+/).map(function(itm,i){return parseInt(itm,10)});
A[0]-=1;
try{
day= new Date(A[2], A[0], A[1]);
if(day.getMonth()== A[0] && day.getDate()== A[1]) return day;
throw new Error('Bad Date ');
}
catch(er){
return er.message;
}
}
function isvalid_dmy(s){
var day, A= s.split(/\D+/).map(function(itm,i){return parseInt(itm,10)});
A[1]-=1;
try{
day= new Date(A[2], A[1], A[0]);
if(day.getMonth()== A[1] && day.getDate()== A[0]) return day;
throw new Error('Bad Date ');
}
catch(er){
return er.message;
}
}

关于使用日期对象的 javascript 日期验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6390815/

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