jQuery如何验证格式为mm / dd / yyyy的日期今天不大于当前日期

问题描述

| 如何在jQuery中验证在输入文本框中输入的日期或HTML中的值(例如mm / dd / yyyy)不大于今天的日期。例如,“ 5/5/2011”将作为真实b / c通过,其值不大于今天“ 6/17/2011”,但是“ 5/5/3011”将大于今天并且应该返回false。是否有一个简单的函数可以返回true或false,如果格式为“ mm / dd / yyyy \”的日期大于javascript或jQuery中的今天的日期?     

解决方法

        只需将其转换为
Date
对象并将日期值与
Date.now
进行比较-例如:
alert( Date.parse(\"3/1/2012\") > Date.now())
实际上,您根本不需要为此使用jQuery,纯JavaScript就足够了。有关更多信息,请查看Javascript0ѭ的文档。     ,        转换为javascript Date对象进行比较。     ,        
var d = new Date(\"5/5/2011\")
var d2 = new Date()

var b = d < d2 // << true...
    ,        首先,您需要确保日期具有通用格式。 2011年10月1日在美国(2011年10月1日)会在将来出现,而在英国(2011年1月10日)将在过去。如果满意的话,下面的方法就可以了:
function greaterThanToday(datestring) {
  var today = new Date();
  var date = new Date(datestring);
  return (date > today);
}

alert(\"5/5/2011: \" + greaterThanToday(\"5/5/2011\"));
alert(\"5/5/3011: \" + greaterThanToday(\"5/5/3011\"));
    ,        甚至不需要jQuery,只需使用Date对象即可。
Date.parse(\"6/17/2011\") > Date.parse(\"5/5/3011\")