繁体   English   中英

日期验证开始日期:

[英]Date validation startdate to from date

在jquery中,我试图验证日期,但是如果我的日期字段低于12,则将其视为“每月”。

test data:
                  dd/mm/yyyy
 from date Value :07/03/2013
 to date  value  :05/06/2013

使用Javascript:

var startdatevalue = $('#txtFromDate').val();
var Todatevalue = $('#txtToDate').val();
if (Todatevalue < startdatevalue) {
    alert("To Date should be greater than From Date.");
    $('#txtToDate').focus();
    return false;
}

当共同映射条件设置为true时,在我的情况下为false。 快速解决方案将有所帮助。

您可以使用jquery datepicker(jquery UI)并执行以下操作

var startDate = $.datepicker.formatDate('dd/mm/yy', $('#txtFromDate').val());
var endDate= $.datepicker.formatDate('dd/mm/yy', $('#txtToDate').val());

然后在startDate和endDate上执行checn

var startdatevalue = "07/03/2013".split('/');
var todatevalue = "05/06/2013".split('/');
var t=Date.parse(todatevalue[2]+"/"+todatevalue[1]+"/"+todatevalue[0]);
var f=Date.parse(startdatevalue[2]+"/"+startdatevalue[1]+"/"+startdatevalue[0]);
if (f > t) {
 console.log("here");
}

http://jsfiddle.net/LdKRF/

虽然可以看看http://www.datejs.com/

尝试

if (new Date(Todatevalue).getTime() > new Date(startdatevalue).getTime()){
      ---Things To do----
}

解决方案1: RegEx;):

var dateString = "30/08/2013";
var reggie = /(\d{4})/(\d{2})/(\d{2})/;
var dateArray = reggie.exec(dateString); 
var dateObject = new Date(
    (+dateArray[3]),
    (+dateArray[2])-1, // Note that month starts at 0!
    (+dateArray[1]),
    0,
    0,
    0
);

解决方案2:

var dt = '30/08/2013'.split('/');

var dateObject = new Date(dt[0], dt[1], dt[2], 0, 0, 0);

我建议使用moment.js以便对日期进行操作。 标准的javascript日期工具有点差。 在此处检查库: http : //momentjs.com/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM