javascript日期验证-检查两个日期
我有两个输入框,用于获取格式为dd/mm/yyyy的日期值 我必须为一家商店制作优惠券,所以我必须检查第一天应该是从明天开始。 例如,如果今天是9月5日,则第一天不应在9月6日之前 第二个日期应至少比第一个日期大1天。如果用户输入的第一个日期为9月10日,则第二个日期不应相同或在9月10日之前 因此,如果用户输入2013年1月31日2013年1月31日作为第一个日期,那么第二个日期可以是2月1日或2月1日之后的任何日期。因此,我也需要检查日期验证。 对于日期验证,我使用以下代码-javascript日期验证-检查两个日期,javascript,datetime,Javascript,Datetime,我有两个输入框,用于获取格式为dd/mm/yyyy的日期值 我必须为一家商店制作优惠券,所以我必须检查第一天应该是从明天开始。 例如,如果今天是9月5日,则第一天不应在9月6日之前 第二个日期应至少比第一个日期大1天。如果用户输入的第一个日期为9月10日,则第二个日期不应相同或在9月10日之前 因此,如果用户输入2013年1月31日2013年1月31日作为第一个日期,那么第二个日期可以是2月1日或2月1日之后的任何日期。因此,我也需要检查日期验证。 对于日期验证,我使用以下代码- fun
function chkdate(y,m,d)
{
var date = new Date(y,m-1,d);
month1 = date.getMonth()+1;
date1 =date.getDate();
if(month1 <10)
{
month1 = "0"+month1;
}
if(date1 <10)
{
date1 = "0"+date1;
}
var convertedDate =""+date.getFullYear() + (month1) + date1;
var givenDate = "" + y + m + d;
return ((givenDate==convertedDate)?true:false);
}
在这种情况下,如果我必须检查两个日期值-第一个日期值是否从明天开始,第二个日期值应至少与第一个日期相差1天。如果这两个条件均为真,则我将生成优惠券,否则我将通知无效日期
我该怎么做 与其进行这种类型的验证,不如使用一些已定义的代码填充另一个日期字段。并使这些字段不可编辑,Farid提出了一个很好的观点,但是,如果您的基准日期是动态的,那么类似这样的内容应该可以工作:
function isValidInput(date1, date2) {
return date2 >= getNextDate(date1);
}
function getNextDate(date) {
// The number of milliseconds in one day
var ONE_DAY = 1000 * 60 * 60 * 24;
var date_ms = date.getTime();
var nextDate_ms = date_ms + ONE_DAY;
var nextDate = new Date(nextDate_ms);
// Make sure to get rid of time, so that it's always at 00:00:00 hour.
return new Date(nextDate.getYear(), nextDate.getMonth(), nextDate.getYear());
}
试试这个
function generate_coupon() {
var from_date = document.getElementById("fromDate");
var to_date = document.getElementById("toDate");
var from = new Date(from_date.value);
var to = new Date(to_date.value);
var today = new Date();
var tomorrow = new Date(new Date().getTime() + 24 * 60 * 60 * 1000);
if (from >= tomorrow && to > from) {
} else {
alert('Enter Valid Date - dd/mm/yyyy');
}
}
对那种类型我们也能做。但以上是客户需要的第一优先事项。如果我得不到任何解决方案,那么我必须这样做。你应该看看这个。约会操作可能非常糟糕^^
function checkDates(d1, d2) {
if (d1 instanceof Date && d2 instanceof Date) {
var today = new Date();
today.setHours(0, 0, 0, 0);
if (date1.getTime() < (today.getTime() + 86400000)) {
return "First date should be after today";
}
if (date2.getTime() < (date1.getTime() + 86400000)) {
return "Second date should be after First date";
}
return "Dates are valid";
}
return "One or more invalid date";
}
var date1Str = "6/9/2012";
var date2Str = "7/9/2012";
var date1Arr = date1Str.split("/");
var date2Arr = date2Str.split("/");
var date1 = new Date(date1Arr[2], date1Arr[1] - 1, date1Arr[0]);
var date2 = new Date(date2Arr[2], date2Arr[1] - 1, date2Arr[0]);
alert(checkDates(date1, date2));
function generate_coupon() {
var from_date = document.getElementById("fromDate");
var to_date = document.getElementById("toDate");
var from = new Date(from_date.value);
var to = new Date(to_date.value);
var today = new Date();
var tomorrow = new Date(new Date().getTime() + 24 * 60 * 60 * 1000);
if (from >= tomorrow && to > from) {
} else {
alert('Enter Valid Date - dd/mm/yyyy');
}
}