EasyUI 时间格式验证

$.extend($.fn.validatebox.defaults.rules, {
	dateCompareLE:{//小于等于
   	 	validator: function(value, param){ 
	   	 	var varify = /^(?:(?!0000)[0-9]{4}([-]?)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-]?)0?2\2(?:29))$/i.test(value);
	   	 	if(varify){
		   	 	var endTime = $(param[0]).datetimebox('getValue');
		   	 	if(endTime==""){
		   	 		return true;
		   	 	}
		   	 	//if()
		  		var dateEnd = $.fn.datebox.defaults.parser(endTime); 
		  		var dateStart = $.fn.datebox.defaults.parser(value);
		  		varify = dateStart <= dateEnd; 
		  		if(!varify){
		  			$.fn.validatebox.defaults.rules.dateCompareLE.message ="起始时间要小于或等于截止时间";
		  		}
		  		return varify;
	   	 	}else{
	   	 		$.fn.validatebox.defaults.rules.dateCompareLE.message ="请输入正确的日期格式(yyyy-mm-dd)";
	   	 		return false;
	   	 	}
   	 	},
   	 	message: ''
   	},
	dateCompareGE:{//大于等于
   	 	validator: function(value, param){ 
	   	 	var varify = /^(?:(?!0000)[0-9]{4}([-]?)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-]?)0?2\2(?:29))$/i.test(value);
	   	 	if(varify){
		   	 	var startTime = $(param[0]).datetimebox('getValue');
		   	 	if(startTime==""){
		   	 		return true;
		   	 	}
		  		var dateStart = $.fn.datebox.defaults.parser(startTime); 
		  		var dateEnd = $.fn.datebox.defaults.parser(value);
		  		
		  		varify = dateEnd >= dateStart; 
		  		if(!varify){
		  			$.fn.validatebox.defaults.rules.dateCompareGE.message ="截止时间要大于或等于起始时间";
		  		}
		  		return varify;
	   	 	}else{
	   	 		$.fn.validatebox.defaults.rules.dateCompareGE.message ="请输入正确的日期格式(yyyy-mm-dd)";
	   	 		return false;
	   	 	}
   	 	}
   	},
   	dateTimeCompareLE:{//小于等于
   	 	validator: function(value, param){ 
	   	 	var varify = /^(?:(?!0000)[0-9]{4}([-]?)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-]?)0?2\2(?:29)) ([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/i.test(value);
	   	 	if(varify){
		   	 	var endTime = $(param[0]).datetimebox('getValue');
		   	 	if(endTime==""){
		   	 		return true;
		   	 	}
		   	 	var dateEnd = new Date(Date.parse(endTime.replace(/-/g,"/"))).getTime(); 
		   	 	var dateStart = new Date(Date.parse(value.replace(/-/g,"/"))).getTime();
		  		varify = dateStart <= dateEnd; 
		  		if(!varify){
		  			$.fn.validatebox.defaults.rules.dateTimeCompareLE.message ="起始时间要小于或等于截止时间";
		  		}
		  		return varify;
	   	 	}else{
	   	 		$.fn.validatebox.defaults.rules.dateTimeCompareLE.message ="请输入正确的日期格式(yyyy-mm-dd hh:mm:ss)";
	   	 		return false;
	   	 	}
   	 	},
   	 	message: ''
   	},
   	dateTimeCompareGE:{//大于等于
   	 	validator: function(value, param){ 
	   	 	var varify = /^(?:(?!0000)[0-9]{4}([-]?)(?:(?:0?[1-9]|1[0-2])\1(?:0?[1-9]|1[0-9]|2[0-8])|(?:0?[13-9]|1[0-2])\1(?:29|30)|(?:0?[13578]|1[02])\1(?:31))|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)([-]?)0?2\2(?:29)) ([0-1][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$/i.test(value);
	   	 	if(varify){
		   	 	var startTime = $(param[0]).datetimebox('getValue');
		   	 	if(startTime==""){
		   	 		return true;
		   	 	}
		  		var dateEnd = new Date(Date.parse(value.replace(/-/g,"/"))).getTime(); 
		   	 	var dateStart = new Date(Date.parse(startTime.replace(/-/g,"/"))).getTime();
		  		varify = dateEnd >= dateStart; 
		  		if(!varify){
		  			$.fn.validatebox.defaults.rules.dateTimeCompareGE.message ="截止时间要大于或等于起始时间";
		  		}
		  		return varify;
	   	 	}else{
	   	 		$.fn.validatebox.defaults.rules.dateTimeCompareGE.message ="请输入正确的日期格式(yyyy-mm-dd hh:mm:ss)";
	   	 		return false;
	   	 	}
   	 	}
   	},
});

猜你喜欢

转载自blog.csdn.net/lishk314/article/details/54376289
今日推荐