驗證日期是否正確

<script language="javascript"> 
	

	function checkDate(dateStr){
		var mydate = document.getElementById("mydate");
		if(dateStr==""||dateStr==null){
			return false;
		}
		else{
			if(dateStr.indexOf("-")!=-1){
				var dateArr = dateStr.split("-");
				var year = dateArr[0];//提取年份
				var month = dateArr[1];//提取月份
				var day = dateArr[2];//提取日
				//如果年份、月份、日期 不是數字或者<=0,返回false
				if(isNaN(year)||year<=0){					
					return false;
				}
				if(isNaN(month)||month<=0||month>12){	
					return false;
				}
				if(isNaN(day)||day<=0||day>31){
					
					return false;
				}
				//年份能被4整除並且不能被100整除,或者能被400整除,則爲閏年
				if((year%4==0&&year%100!=0)||(year%400==0)){
					if(month==2){//閏年的2月 
						if(day>29){
							return false;
						}
					}
				}else{//不是閏年的2月 
					if(month==2){
						if(day>28){
							return false;
						}
					}
				}
				//1、3、5、7、8、10、12月份爲31天 
				var m1 = new Array(1,3,5,7,8,10,12);
				for(var i=0;i<m1.length;i++){
					if(parseInt(month)==m1[i]){
						if(day>31){
							 return false;
						}
					}
				}
				//4、6、9、12月份爲31天 
				var m2 = new Array(4,6,9,11);
				for(var j=0;j<m2.length;j++){
					if(parseInt(month)==m2[j]){
						if(day>30){
							 return false;
						}
					}
				}
			}else{
				return false;
			}
		}
		return true;
	}
	
	function check(){
		var mydate = document.getElementById("mydate");
		if(checkDate(mydate.value)){
			document.getElementById("dateForm").submit();
		}else{
			if(mydate.value==""||mydate.value==null){
				alert("請輸入日期!");
				mydate.focus();	//日期文本框獲得焦點
				return ;
			}
			mydate.focus();
			alert("您輸入的日期格式不正確!");
		}
	}
	</script>



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章