2025-03-24

案例如下:
//日期格式判斷
        function lo_isDatePart(dateStr) {
            var parts;
            if (dateStr.indexOf("/") > -1) {
                parts = dateStr.split('/');
            } else {
                return false;
            }
            if (parts.length < 3) {
                //日期部分不允許缺少年、月、日中的任何一項
                return false;
            }
            for (i = 0; i < 3; i++) {
                //如果構成日期的某個部分不是數字,則返回false
                if (isNaN(parts[i])) {
                    return false;
                }
            }
            y = parts[0]; //年
            m = parts[1]; //月
            d = parts[2]; //日
            if (y > 3000) {
                return false;
            }
            var smonth="01,02,03,04,05,06,07,08,09,10,11,12";
            if (smonth.indexOf(m) == -1) {
                return false;
            }
            var sday = "01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31";
            if (sday.indexOf(d) == -1) {
                return false;
            }
            switch (d) {
                case 29:
                    if (m == "02") {
                        //如果是2月份
                        if ((y / 100) * 100 == y && (y / 400) * 400 != y) {
                            //如果年份能被100整除但不能被400整除 (即閏年)
                        } else {
                            return false;
                        } www.aiwalls.com
                    }
                    break;
                case 30:
                    if (m == "02") {
                        //2月沒有30日
                        return false;
                    }
                    break;
                case 31:
                    if (m == "02" || m == "04" || m == "06" || m == "09" || m == "11") {
                        //2、4、6、9、11月沒有31日
                        return false;
                    }
                    break;
                default:
            }
            return true;
        }
        /***********************************************************************
        * 判斷一個字符串是否為合法的時間格式:HH:MM
        */
        function lo_isTimePart(timeStr) {
            var parts;
            parts = timeStr.split(':');
            if (parts.length < 1) {
                //日期部分不允許缺少小時、分鐘中的任何一項
                return false;
            }
            for (i = 0; i < parts.length; i++) {
                //如果構成時間的某個部分不是數字,則返回false
                if (isNaN(parts[i])) {
                    return false;
                }
            }
            h = parts[0]; //小時
            m = parts[1]; //分
            if (h < 0 || h > 23) {
                //限制小時的范圍
                return false;
            }
            if (m < 0 || m > 59) {
                //限制分鐘的范圍
                return false;
            }
            return true;
        }

摘自:先知的程序

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *