formフォームにおける日付正規表現の判断


<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<script type="text/javascript">
	
	function   IsDate()   { 
		var re = /^(\d{4})(\/|-)(\d{1,2})\2(\d{1,2})$/ ;
		var s = document.getElementById('date').value;
		var m = re.exec(s); 
		//if(m == null){
			//return false; 
		//}  
		var d = new Date(m[1],m[3]-1,m[4]); 
		if(d.getFullYear()==m[1] && d.getMonth()==(m[3]-1) && d.getDate()==m[4]){
			return true;
		}else{
			alert("The date of format is 'YYYY-MM-DD' !");
			return false; 
		}
		
	} 

</script>
<html> 
<head> 
<title>Chart</title> 
</head> 
	<body> 
	<form name="form1" method="post" action="showChart.jsp" onSubmit= "return IsDate();"> 
	 
	 <p>Date:
	
	    <input type="text" id="date" name="date" value=""/> The date of format is 'YYYY-MM-DD', for example : 2012-01-01
	
	 </p>
	 <p>
	
	     <input type="Submit" value="Submit" >
	
	 </p>
	
	</form>

	</body> 
</html>