js日付が有効かどうかを検証する方法


直接コードを貼って、話をしています.
var end_time=$('#id_end_time').val();
if(end_time==''){
                    alert('          !');  
                    return false;
                }else{
                    var matchArray=end_time.match(/^([0-9]{4})-([0-1][0-9])-([0-3][0-9])$/);
                    if(matchArray==null){
                        alert("Invalid date: " + end_time);
                        return false;
                    }else{
                        if(!isdate(matchArray[1],matchArray[2],matchArray[3])){
                            alert("Invalid date: " + end_time);
                            return false;
                        }
                    }
                }
function isdate(intYear,intMonth,intDay){
            if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) return false;
            if(intMonth>12||intMonth<1) return false;
            if ( intDay<1||intDay>31)return false;
            if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30)) return false;
            if(intMonth==2){
                if(intDay>29) return false;
                if((((intYear%100==0)&&(intYear%400!=0))||(intYear%4!=0))&&(intDay>28))return false;
            }
            return true;
        }
の最初の行が値を取得し、空かどうかを判断します.これは誰もが知っているはずです.次にフォーマット2013-04-17に合致するかどうかを判断し、ここでは正規表現を使用します.最後の関数isdateは合法的な日付かどうかを判断し、この関数はネット上で検索されます.