当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript教程:判断日期正确与否的函数

Javascript
jQuery在IE中解释XML要注意的问题
JavaScript学习笔记:创建对象和构造类
JS学习笔记:Javascript类的继承
Javascript学习笔记:错误处理
JS学习笔记:防止发生命名冲突
怎么让网页全屏显示?
JS教程:addDOMLoadEvent事件
MooTools教程(告诉你为什么学Mootools)
选择mootools的5个原因
js教程:JavaScript作用域(Scope)
JS教程:日期格式转换函数
JavaScript中的Function对象
JS教程:理解JavaScript闭包
window.location.href出问题分析思路
JS教程:javascript获取页面属性
Webjx收集jQurey模式窗口的网页设计实例
现代网页设计时尚:网页中对话框窗口
概念网站实例:所有网页都在一个网页里
JS教程:鼠标悬停文字上显示图片
网页内容切换效果实现的15个jQuery插件

Javascript 中的 JavaScript教程:判断日期正确与否的函数


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 304 ::
收藏到网摘: n/a

VBScript的IsDate函数用于判断一个日期是否正确,JavaScript没有这个函数,我们也来写一个类似的函数。需要说明的是,JavaScript中IsDate的参数必须为字符串,且支持6种不同的格式"yyyy-mm-dd || yyyy/mm/dd || dd-mm-yyyy || dd/mm/yyyy || mm-dd-yyyy || mm/dd/yyyy",之所以不能使用日期作为参数是因为JavaScript根本没有不正确的日期,比如 new Date(2008,01,30),构造函数会自动将它转换成正确的日期2008-03-01。JavaScript版IsDate函数如下:

function IsDate(dateval){
    var arr = new Array();
   
    if(dateval.indexOf("-") != -1){
        arr = dateval.toString().split("-");
    }else if(dateval.indexOf("/") != -1){
        arr = dateval.toString().split("/");
    }else{
        return false;
    }
   
    //yyyy-mm-dd || yyyy/mm/dd
    if(arr[0].length==4){
        var date = new Date(arr[0],arr[1]-1,arr[2]);
        if(date.getFullYear()==arr[0] && date.getMonth()==arr[1]-1 && date.getDate()==arr[2]){
            return true;
        }
    }
    //dd-mm-yyyy || dd/mm/yyyy
    if(arr[2].length==4){
        var date = new Date(arr[2],arr[1]-1,arr[0]);
        if(date.getFullYear()==arr[2] && date.getMonth()==arr[1]-1 && date.getDate()==arr[0]){
            return true;
        }
    }
    //mm-dd-yyyy || mm/dd/yyyy
    if(arr[2].length==4){
        var date = new Date(arr[2],arr[0]-1,arr[1]);
        if(date.getFullYear()==arr[2] && date.getMonth()==arr[0]-1 && date.getDate()==arr[1]){
            return true;
        }
    }
   
    return false;
}