asp.net中如何验证日期格式是否正确

1. js方法:

需要调用日期验证的正则表达式:

日期的正则表达式,YYYY-MM-DD YYYY/MM/DD YYYY.MM.DD

"^(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-|\.)(?:0?2\1(?:29))$)|(?:(?:1[6-9]|[2-9]\d)?\d)(\/|-|\.)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))$"

验证方法:

 var reg = new RegExp(^(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-|\.)(?:0?2\1(?:29))$)|(?:(?:1[6-9]|[2-9]\d)?\d)(\/|-|\.)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))$);
 if (! reg.test(document.form1.TxtBeginDate.value))
 {
        alert("日期格式错误");

}

 

2. 在后台.cs中验证方法:

DateTime date = DateTime.MinValue;
           bool flag = DateTime.TryParse("1999-09-53 12:22:22",out date);

 

 如果成功正flag为true;如果有错 flag就为false

 date 就是你的这个string 的 datetime模式  否则   date就是 DateTime的最小值

 

--------------------------具体实现如下:-------------------------

            //开始时间
            if (this.txtWorkStartDate.Text != "")
            {
                DateTime date = DateTime.MinValue;
                bool flag = DateTime.TryParse(this.txtWorkStartDate.Text.ToString(), out date);
                if (flag)
                {
                    incomeSearch.StartTime = date;
                }
                else
                {
                    WK.Util.UMesageBox.Alert("日期格式错误");
                }
            }
            else
            {
                incomeSearch.StartTime = Convert.ToDateTime("1990-1-1");
            }
            //结束时间
            if (this.txtWorkEndDate.Text != "")
            {
                DateTime dateEnd = DateTime.MinValue;
                bool flagEnd = DateTime.TryParse(this.txtWorkEndDate.Text.ToString(), out dateEnd);

                if (flagEnd)
                {
                    incomeSearch.EndTime = dateEnd;
                }
                else
                {
                    WK.Util.UMesageBox.Alert("日期格式错误");
                }
            }

 

 

注:双重验证比较安全,如果浏览器禁用js,那么前台验证就失效了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值