javascript javascript函数(输入日期大于今天的日期)

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/33783637/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-10-28 16:54:12  来源:igfitidea点击:

javascript function (input date bigger than today date)

javascripthtmlfunctiondate

提问by Fares B Bader

I'm starter in javascript :

我是 javascript 初学者:

I need a function that detect if user input a date .. and alert him if the date is smaller than today date ...

我需要一个功能来检测用户是否输入了日期......并在日期小于今天的日期时提醒他......

HTML :

HTML :

 <input type="date" name="StartDate" id="userdate"  required />

JavaScript I tried (didn't work of course ):

我试过的 JavaScript(当然没用):

function TDate() {
var UserDate = document.getElementById("userdate").value;
var ToDate = Date.now();
if (UserDate != ToDate) {
    alert("The Date must be Bigger or Equal to today date")
    return false;
}
return true;}

回答by Zohaib Ijaz

I have created a fiddle

我创造了一个小提琴

https://jsbin.com/jidogo/edit?html,js,output

https://jsbin.com/jidogo/edit?html,js,output

<input type="date" name="StartDate" id="userdate" onchange="TDate()" required />

JS

JS

function TDate() {
    var UserDate = document.getElementById("userdate").value;
    var ToDate = new Date();

    if (new Date(UserDate).getTime() <= ToDate.getTime()) {
          alert("The Date must be Bigger or Equal to today date");
          return false;
     }
    return true;
}

回答by Long Nguyen

I assume that you can get the selected Date object by var selectedDate = document.getElementById("userdate").value. Then you can compare two date like compare 2 integer number:

我假设您可以通过var selectedDate = document.getElementById("userdate").value. 然后你可以比较两个日期,比如比较 2 个整数:

function TDate() {
    var selectedDate = document.getElementById("userdate").value;
    if (selectedDate < Date.now()) {
        alert("The Date must be Bigger or Equal to today date")
        return false;
    }
    return true;
}

回答by Morteza Tourani

I think this would be cleaner than other answers thanks to Juank:

由于Juank,我认为这比其他答案更清晰

var now = new Date(),
    minDate = now.toISOString().substring(0,10);

$('#my-date-input').prop('min', minDate);