JavaScript 中的日期验证
一篇关于在 JavaScript 中验证日期的文章。
引言
这段代码是为了验证网页中输入的日期而开发的。我找到了其他一些提供解决方案的代码片段,但它们都含糊不清且令人困惑,而这个 JavaScript 脚本提供了一种简单的方法来验证日期。请查看这个。
使用代码
下面是日期验证的核心代码,用 JavaScript 编写
//
function IsValidDate(Day,Mn,Yr){
var DateVal = Mn + "/" + Day + "/" + Yr;
var dt = new Date(DateVal);
if(dt.getDate()!=Day){
alert('Invalid Date');
return(false);
}
else if(dt.getMonth()!=Mn-1){
//this is for the purpose JavaScript starts the month from 0
alert('Invalid Date');
return(false);
}
else if(dt.getFullYear()!=Yr){
alert('Invalid Date');
return(false);
}
return(true);
}
//
如果您计划将其添加到 ASP.NET 的自定义验证器中,那么以下方法将有效
下面的代码是用于调用上述 JavaScript 函数的代码
function CallDateFun(sender, args){
var d=document.getElementById("DayDropDownListCtl").value
var m=document.getElementById("MonthDropDownListCtl").value
var y=document.getElementById("YearDropDownListCtl").value
if(IsValidDate(d,m,y))
args.IsValid=true;
else
args.IsValid=false;
}
这是自定义验证器的代码
<asp:CustomValidator ID="CustomDateValidatorCtl"
runat="server" ClientValidationFunction="CallDateFun"
Text="Invalid Date" ControlToValidate="DayDropDownListCtl">
</asp:CustomValidator>
注意:DayDropDownListCtl
、MonthDropDownListCtl
和 YearDropDownListCtl
分别是日期、月份和年份的下拉列表。