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

Javascript
一定时间滚动的链接菜单效果
超链接的陷下效果
用js实现的打字效果的带链接的新闻标题
js实现的很酷的连接提示效果
再谈IE中Flash控件的自动激活 ObjectWrap
超级兔子让浮动层消失的前因后果
在线编辑器的实现原理(兼容IE和FireFox)
B/S开发中常用javaScript技术与代码
用JavaScript事件串连执行多个处理过程的方法
Javascript中的Split使用方法与技巧
HTML在线编辑器的基本概念与相关资料
Js+DVML很酷漂亮实用的右键弹出菜单
用js实现的比较经典实用的触发型导航菜单
js中slice()方法的使用说明
基础的prototype.js常用函数及其用法
常用限制input的方法的js代码
又一个图片自动缩小的JS代码
JavaScript触发器详解
理解Javascript的caller,callee,call,apply区别
一个简单的日历代码 (For: FF1+ IE5+ Opr7+)测试

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 265 ::
收藏到网摘: 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;
}