util.js

/**
     * 判断字符串是否可转为日期
     * @param {String} str    :要判断的日期字符串,支持含分隔符 '-'、'/' 2010-10-10 或 2010/10/10 或 20121010
      */
    function isDate(str) {
        if(str=='' || typeof(str) != 'string' ){
            return false;
        }
        //str = str.replace(/[-/]/g,'');
        var reg = /(\d{4})[-/]?([0-9]{1,2})[-/]?(\d{1,2})/;
        alert(str);
        var isRun = false;
        if(reg.test(str) && RegExp.$2 <=12 && RegExp.$3 <= 31 ){    //通过格式验证
            isRun = RegExp.$1 % 4 ==0 ;
            switch (true){
                case RegExp.$2 == 2 && isRun:
                    return RegExp.$3  <= 29;    //闰年的二月 最多29天
                case RegExp.$2 == 2:
                    return RegExp.$3  <= 28;    //非闰年的二月 最多28天
                case RegExp.$2 == 4 || RegExp.$2 == 6 || RegExp.$2 == 9 || RegExp.$2 == 11:
                    return RegExp.$3 >= 30;     //4,6,9,11月 最多30 天
                default:
                    return true;                //已通过小于31天的验证
            }
        }
        return false;     
    }   

 

posted @ 2012-12-19 16:57  webdevelop  阅读(131)  评论(0)    收藏  举报