javascript 驗證日期的函數(shù)
更新時間:2010年03月18日 18:19:27 作者:
最近這個項目中有幾個需要錄入日期的地方,開始由于沒有對這些地方進行有效性驗證,結果用戶錄入的日期有好多非法日期,諸如什么2007-2-29,還有2005-2-30等錯誤日期
導致數(shù)據(jù)庫跑任務出現(xiàn)錯誤(任務根據(jù)日期來計算狀態(tài)的,由于數(shù)據(jù)量比較大,都做成任務夜里跑),為了避免再出現(xiàn)此類的錯誤,所以增加了一個驗證日期有效性的javascript方法。
本方法能夠有效的驗證閏年,支持的日期格式有:2009-01-01、2009/01/01兩種格式。
javascript代碼
//判斷日期是否合法
function IsDate(oTextbox) {
var regex = new RegExp("^(?:(?:([0-9]{4}(-|\/)(?:(?:0?[1,3-9]|1[0-2])(-|\/)(?:29|30)|((?:0?[13578]|1[02])(-|\/)31)))|([0-9]{4}(-|\/)(?:0?[1-9]|1[0-2])(-|\/)(?:0?[1-9]|1\\d|2[0-8]))|(((?:(\\d\\d(?:0[48]|[2468][048]|[13579][26]))|(?:0[48]00|[2468][048]00|[13579][26]00))(-|\/)0?2(-|\/)29))))$");
var dateValue = oTextbox.value;
if (!regex.test(dateValue)) {
alert("日期有誤!");
dateValue = "";
this.focus();
return;
}
}
使用測試
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script type="text/javascript" src="jQuery/JScript1.js"></script>
<script type="text/javascript" src="jQuery/jquery-vsdoc.js"></script>
</head>
<body>
<input type="text" id="sDate" />
<script type="text/javascript">
$("#sDate").blur(function() {IsDate($(this)[0]);})
</script>
</body>
</html>
本方法能夠有效的驗證閏年,支持的日期格式有:2009-01-01、2009/01/01兩種格式。
javascript代碼
復制代碼 代碼如下:
//判斷日期是否合法
function IsDate(oTextbox) {
var regex = new RegExp("^(?:(?:([0-9]{4}(-|\/)(?:(?:0?[1,3-9]|1[0-2])(-|\/)(?:29|30)|((?:0?[13578]|1[02])(-|\/)31)))|([0-9]{4}(-|\/)(?:0?[1-9]|1[0-2])(-|\/)(?:0?[1-9]|1\\d|2[0-8]))|(((?:(\\d\\d(?:0[48]|[2468][048]|[13579][26]))|(?:0[48]00|[2468][048]00|[13579][26]00))(-|\/)0?2(-|\/)29))))$");
var dateValue = oTextbox.value;
if (!regex.test(dateValue)) {
alert("日期有誤!");
dateValue = "";
this.focus();
return;
}
}
使用測試
復制代碼 代碼如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title></title>
<script type="text/javascript" src="jQuery/JScript1.js"></script>
<script type="text/javascript" src="jQuery/jquery-vsdoc.js"></script>
</head>
<body>
<input type="text" id="sDate" />
<script type="text/javascript">
$("#sDate").blur(function() {IsDate($(this)[0]);})
</script>
</body>
</html>
相關文章
jQuery改變form表單的action,并進行提交的實現(xiàn)代碼
下面小編就為大家?guī)硪黄猨Query改變form表單的action,并進行提交的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05
jQuery實現(xiàn)響應鼠標背景變化的動態(tài)菜單效果代碼
這篇文章主要介紹了jQuery實現(xiàn)響應鼠標背景變化的動態(tài)菜單效果代碼,涉及jquery鼠標mouseover事件操作頁面元素屬性的相關技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08
jquery跨域請求示例分享(jquery發(fā)送ajax請求)
這篇文章主要介紹了jquery跨域請求示例(jquery發(fā)送ajax請求),需要的朋友可以參考下2014-03-03

