在javascript 里面有没有检查日期格式的函数?

发表于:2007-06-30来源:作者:点击数: 标签:
function isdate(strDate){br nbsp;nbsp;nbsp;var strSeparator = quot;-quot;; //日期分隔符br nbsp;nbsp;nbsp;var strDateArray;br nbsp;nbsp;nbsp;var intYear;br nbsp;nbsp;nbsp;var intMonth;br nbsp;nbsp;nbsp;var intDay;br nbsp;nbsp;nbsp;var boolLe
function isdate(strDate){<br>
&nbsp;&nbsp;&nbsp;var strSeparator = &quot;-&quot;; //日期分隔符<br>
&nbsp;&nbsp;&nbsp;var strDateArray;<br>
&nbsp;&nbsp;&nbsp;var intYear;<br>
&nbsp;&nbsp;&nbsp;var intMonth;<br>
&nbsp;&nbsp;&nbsp;var intDay;<br>
&nbsp;&nbsp;&nbsp;var boolLeapYear;<br>
&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;strDateArray = strDate.split(strSeparator);<br>
&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;if(strDateArray.length!=3) return false;<br>
&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;intYear = parseInt(strDateArray[0],10);<br>
&nbsp;&nbsp;&nbsp;intMonth = parseInt(strDateArray[1],10);<br>
&nbsp;&nbsp;&nbsp;intDay = parseInt(strDateArray[2],10);<br>
&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) return false;<br>
&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;if(intMonth&gt;12||intMonth&lt;1) return false;<br>
&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;if((intMonth==1||intMonth==3||intMonth==5||intMonth==7||intMonth==8||intMonth==10||intMonth==12)&&(intDay&gt;31||intDay&lt;1)) return false;<br>
&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay&gt;30||intDay&lt;1)) return false;<br>
&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;if(intMonth==2){<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(intDay&lt;1) return false;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;boolLeapYear = false;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if((intYear%100)==0){<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if((intYear%400)==0) boolLeapYear = true;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if((intYear%4)==0) boolLeapYear = true;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(boolLeapYear){<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(intDay&gt;29) return false;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(intDay&gt;28) return false;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;<br>
&nbsp;&nbsp;&nbsp;return true;<br>
}<br>

原文转自:http://www.ltesting.net