验证日期字段值

时间:2016-04-15 07:22:54

标签: javascript

我在表单中有一个日期字段。我需要验证日期。需要从今天开始计算所选日期。

if(selecteddate > 7days from today's date)
  return true;
else
  return false;

enter image description here

我怎样才能做到这一点。?

3 个答案:

答案 0 :(得分:1)

请尝试以下

        var n=7; //number of days to add. 
        var today=new Date(); //Today's Date
        var requiredDate=new Date(today.getFullYear(),today.getMonth(),today.getDate()+n)

        if ((new Date(selecteddate ).getTime()) > (new Date(requiredDate).getTime())) 
            return true;
        else 
            return false;

答案 1 :(得分:0)

请尝试以下操作:

var required_date = new Date();
required_date.setDate(required_date.getDate() + 7);

var selected_date = new Date(selected_date);

if (selected_date.getTime() > required_date.getTime()) {
    return true;
else
  return false;

答案 2 :(得分:0)

如果用户输入的格式为mm / dd / yyyy,m / d / yyyy或mm / d / yyyy,则需要进行一些重新格式化以获取Date对象。 moreThanSevenDays()是一个执行此重新格式化的函数,然后检查它是否超过7天。

function moreThanSevenDays(selectedDateString) {

    //add a "0" to front of single digit months or dates
    var dateArr = selectedDateString.split("/");
    for (var i=0; i<dateArr.length; i++) {
        if(dateArr[i].length == 1) {
            dateArr[i] = "0"+dateArr[i]
        }
    }

    //get Date object from selected date
    var selectedDate = new Date(dateArr[2]+"-"+dateArr[0]+"-"+dateArr[1]);

    //get Date object for 7 days from now
    var today = new Date();
    var limit = new Date().setDate(today.getDate()+7)

    //check which is greater
    if(selectedDate.getTime() > limit) {
        return true;
    }
    else {
        return false;
    }    
}

moreThanSevenDays("5/2/2016") //returns true