代码改变世界

一段简单 javascript 的代码,用来验证日期的格式,支持闰年,支持 IE、Fixfox、Chrome 等主流浏览器

2011-08-16 14:19  音乐让我说  阅读(517)  评论(0编辑  收藏  举报

提示,日期格式必须是:yyyy-MM-dd

大家可以用 my97DatePicker 日期控件,该控件默认的格式就是:yyyy-MM-dd

贴出代码:

<html>
<head>
<script type="text/javascript">
function CheckDate(dateValue)
{       
	var reg=/^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;    
	return reg.test(dateValue); // 或者   dateValue.match(reg);
}
function ValidateBirthday()
{
	var txtBirthday = document.getElementById("txtBirthday");
	var birthdayErrorContainer = document.getElementById("birthdayErrorContainer");
	
	birthdayErrorContainer.style.color = "black";
	birthdayErrorContainer.innerHTML = "";
	if(CheckDate(txtBirthday.value))
	{
		birthdayErrorContainer.style.color = "green";
		birthdayErrorContainer.innerHTML = "日期正确!";
		return true;
	}
	else
	{
		birthdayErrorContainer.style.color = "red";
		birthdayErrorContainer.innerHTML = "日期不合法,请重新输入!";
		return false;
	}
}
function ValidateForm()
{
	if(!ValidateBirthday())
	{
		alert("日期不正确!");
		return false;
	}
	return true;
}
</script>
</head>
<body>
<form action="http://www.baidu.com" method="post" id="myForm" onsubmit="return ValidateForm();">
	请输入日期(日期格式如:2010-05-08):<input type="text" name="txtBirthday" id="txtBirthday" onblur="ValidateBirthday();"><span id="birthdayErrorContainer"></span><br/>
	<input type="submit" value="提交">
</form>
</body>
</html>

  

谢谢浏览!