JS日期比较

<html>
<head>
<script type="text/javascript">
/**
 * 检验日期合法性,日期格式yyyy-MM-dd
 * @param strDate 待检验的日期
 * @returns {Boolean} 如果日期合法返回true,否则返回false
 */
function checkDate(strDate) {
	if (strDate.length > 0) {
		var reg = /^(\d{2,4})-(\d{1,2})-(\d{1,2})$/g;
		if (!reg.test(strDate)) {
			return false;
		}
	}
	return true;
}   
/**
 * 日期比较函数,给定的日期必须符合第一位年份,第二位月份,第三位日期,默认分隔符“-”。例如:2012-03-08
 * @param startDate  开始日期
 * @param endDate  结束日期
 * @returns {Number} 如果startDate小于endDate返回正数,如果startDate大于endDate返回负数,如果日期相等返回0
 */
function compareDate(startDate,endDate){
	if( checkDate(startDate) && checkDate(endDate) ){
		var sdate = new Date(startDate.replace(/\-/g, "\/"));
		var edate = new Date(endDate.replace(/\-/g, "\/"));
		return edate - sdate;
	}else{
		alert("给定的日期不合法!");
	}
}
/** 比较 **/
	function doCompare(){
		var startdate = document.getElementById("startdate").value;
		var enddate = document.getElementById("enddate").value;
		var result = compareDate(startdate,enddate);
		if ( result>0 ) {
			alert(startdate + " 小于 " + enddate);
		}else if( result<0 ){
			alert(startdate + " 大于 " + enddate);
		}else if ( result==0 ){
			alert(startdate + " 等于 " + enddate);
		}
	}
</script>
</head>
<body>
开始时间:<input type="text" id="startdate" name="startDate"><br>
结束时间:<input type="text" id="enddate" name="endDate"><br>
		   <input type="button" name="compareBtn" value="比较" onclick="doCompare()"/>
</body>
</html>
JS日期比较

你可能感兴趣的:(Date,input,button)