输入日期的未来日期验证为dd / mm / yyyy格式

时间:2017-10-04 11:16:39

标签: javascript date

如果是未来的有效日期,我需要验证日期。在使用带有dateITA规则的Jquery验证插件时,使用日期格式dd/mm/yyyy以表格I输入日期。我添加了以下验证方法

 $.validator.methods.futuredocexp = function( value, element ) {    
    var now = new Date();
    var myDate = new Date(value);
    return this.optional(element) || myDate > now;    
 };

只有日期采用dd-mm-yyyy等美国格式时才有效 我怎样才能使它适用于dd / mm / yyyy?

1 个答案:

答案 0 :(得分:0)

将dateString拆分为\,然后加入-即可。这是一个例子:

var dateStringwithFwdSlash1 = "21/04/2050";  //  dd/mm/yyyy format
var dateStringwithFwdSlash2 = "21/04/2005";  //  dd/mm/yyyy format

Array.prototype.swapItems = function(a, b){
    this[a] = this.splice(b, 1, this[a])[0];
    return this;
}

function isItFutureDate(dateStr){
   var d = new Date(dateStr.split("/").swapItems(0,1).join("-"));
   var now = new Date();
   console.log("Input dateString was: "+dateStr+" \t Date Object is: " +d);
   console.log('Is input dateStr a future date ??');  // .getTime() returns milliseconds since 1 Jan 1970
   console.log((d.getTime()-now.getTime()) > 0 );
}


isItFutureDate(dateStringwithFwdSlash1);
isItFutureDate(dateStringwithFwdSlash2);