See More

//ÅжÏÊäÈëµÄÈÕÆÚÊÇ·ñÕýÈ· function CheckDate(INDate) { if (INDate == "") // Èç¹ûÊäÈëÈÕÆÚΪ¿Õ { return true; } subYY = INDate.substr(0, 4) // ½ØÈ¡ÊäÈëÈÕÆÚµÄǰ4λ if (isNaN(subYY) || subYY <= 0) { // Èç¹ûÊäÈëµÄ²»ÊÇÊý×Ö»òÕßÊǸºÊý return true; } // ת»»Ô·ݣ¬´ÓÊäÈëÊý×ֵĵÚ0λ¿ªÊ¼²éÕÒ£¬ÅжÏÊÇ·ñÓÐ×Ö·û´®"-"£¬Èç¹ûÓн«separateµÄÖµÉèÖÃΪ"-" if (INDate.indexOf('-', 0) != -1) { separate = "-" } else { if (INDate.indexOf('/', 0) != -1) { separate = "/" }// Èç¹ûûÓÐ×Ö·û´®"-"£¬ÄÇô½«separateµÄÖµÉèÖÃΪ"/" else { return true; }// Èç¹ûÒÔÉÏÁ½Õß¾ù²éѯ²»µ½£¬Ôò·µ»Øtrue } area = INDate.indexOf(separate, 0)// ´Ó×Ö·û´®µÄµÚÒ»¸öλÖÿªÊ¼²éÕÒ£¬·µ»ØÌض¨×Ö·ûµÄλÖà subMM = INDate.substr(area + 1, INDate.indexOf(separate, area + 1) - (area + 1)) if (isNaN(subMM) || subMM <= 0) { return true; } if (subMM.length < 2) { subMM = "0" + subMM }// Èç¹ûÔ·ÝÖ»ÓÐ1룬ÄÇôÔÚËüµÄÇ°Ãæ¼Ó"0" // ת»»ÈÕ area = INDate.lastIndexOf(separate)// ´Ó×Ö·û´®µÄ×îºóһλ¿ªÊ¼²éÕÒ£¬·µ»ØÌض¨×Ö·ûµÄλÖà subDD = INDate.substr(area + 1, INDate.length - area - 1) if (isNaN(subDD) || subDD <= 0) { return true; } if (eval(subDD) < 10) { subDD = "0" + eval(subDD) } // ¶Ô×÷ΪÊý×Ö±í´ïʽµÄ×Ö·û´®ÇóÖµ NewDate = subYY + "-" + subMM + "-" + subDD if (NewDate.length != 10) { return true; } // Èç¹ûÊäÈëÈÕÆÚµÄ³¤¶ÈСÓÚ10 if (NewDate.substr(4, 1) != "-") { return true; } // Èç¹ûÊäÈëÈͮ򵀵Ú5λ²»ÊÇ"-" if (NewDate.substr(7, 1) != "-") { return true; } // Èç¹ûÊäÈëÈͮ򵀵Ú8λ²»ÊÇ"-" var MM = NewDate.substr(5, 2); // ´ÓµÚ5λ¿ªÊ¼½ØÈ¡×Ö·û´®£¬½ØÈ¡2Ϊ£¬¼´»ñµÃÔÂ·Ý var DD = NewDate.substr(8, 2); // ´ÓµÚ8λ¿ªÊ¼½ØÈ¡×Ö·û´®£¬½ØÈ¡2Ϊ£¬¼´»ñµÃÈÕ // ÅжÏÊÇ·ñΪÈòÄ꣨Äܱ»4Õû³ý²¢ÇÒ²»Äܱ»100Õû³ý»òÕßÖ»Äܱ»400Õû³ýµÄÄê·Ý¾ÍΪÈòÄ꣩ if ((subYY % 4 == 0 && subYY % 100 != 0) || subYY % 400 == 0) { // ÅжÏÊÇ·ñΪÈòÄê if (parseInt(MM) == 2) { // ½«MMת»¯ÎªÕûÊý if (DD > 29) { return true; } } } else { if (parseInt(MM) == 2) { if (DD > 28) { return true; } } } var mm = new Array(1, 3, 5, 7, 8, 10, 12); // ÅжÏÿÔÂÖеÄ×î´óÌìÊý for (i = 0; i < mm.length; i++) { if (parseInt(MM, 10) == mm[i]) { // ÅжÏÔ·ÝÊÇ·ñΪÊý×éÖеÄÖµ if (parseInt(DD) > 31) { return true; } else { return false; } } } if (parseInt(DD) > 30) { return true; } if (parseInt(MM) > 12) { return true; }// Èç¹ûÔ·ݴóÓÚ12 return false; // Èç¹ûÒÔÉÏÇé¿ö¶¼²»ÊÇÔò·µ»Øfalse }