65.9K
CodeProject 正在变化。 阅读更多。
Home

JavaScript 中的日期验证

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.64/5 (11投票s)

2006 年 4 月 21 日

CPOL
viewsIcon

186279

一篇关于在 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>

注意:DayDropDownListCtlMonthDropDownListCtlYearDropDownListCtl 分别是日期、月份和年份的下拉列表。

© . All rights reserved.