var date=text.value
var ss=date.split("-");
parseInt(ss[0])应该是年份
parseInt(ss[1])应该大于0,小于等于12
比较的时候先判断年,再判断月就行了
很笨的方法

解决方案 »

  1.   

    function isDate(elem){
    var pattern=/^([0-9]{4}|[0-9]{2})-([0-9]{1,2})$/;
    var temp=elem.match(pattern);
    if(temp==null) return false;
    //Date(year,month)
    var d=new Date(temp[1],temp[2]-1);
    return d.getYear()==temp[1]&&(d.getMonth()+1)==temp[2];
    }
      

  2.   

    //计算日期函数DateAdd("m",1,new Date())
    function DateAdd(strInterval, NumDay, dtDate) {
    var dtTmp = new Date(dtDate);
    if (isNaN(dtTmp)) dtTmp = new Date();
    switch (strInterval) {
    case "s":return new Date(Date.parse(dtTmp) + (1000 * NumDay));
    case "n":return new Date(Date.parse(dtTmp) + (60000 * NumDay));
    case "h":return new Date(Date.parse(dtTmp) + (3600000 * NumDay));
    case "d":return new Date(Date.parse(dtTmp) + (86400000 * NumDay));
    case "w":return new Date(Date.parse(dtTmp) + ((86400000 * 7) * NumDay));
    case "m":return new Date(dtTmp.getFullYear(), (dtTmp.getMonth()) + NumDay, dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
    case "y":return new Date((dtTmp.getFullYear() + NumDay), dtTmp.getMonth(), dtTmp.getDate(), dtTmp.getHours(), dtTmp.getMinutes(), dtTmp.getSeconds());
    }
    }
    //计算日期函数DateDiff("m","2002/12/1 00:00:00","2004/12/1 00:00:00")
    function DateDiff(strInterval, dtStart, dtEnd) {
    var dtStart = new Date(dtStart);
    if (isNaN(dtStart)) dtStart = new Date();
    var dtEnd = new Date(dtEnd);
    if (isNaN(dtEnd)) dtEnd = new Date();
    switch (strInterval) {
    case "s":return parseInt((dtEnd - dtStart) / 1000);
    case "n":return parseInt((dtEnd - dtStart) / 60000);
    case "h":return parseInt((dtEnd - dtStart) / 3600000);
    case "d":return parseInt((dtEnd - dtStart) / 86400000);
    case "w":return parseInt((dtEnd - dtStart) / (86400000 * 7));
    case "m":return (dtEnd.getMonth()+1)+((dtEnd.getFullYear()-dtStart.getFullYear())*12) - (dtStart.getMonth()+1);
    case "y":return dtEnd.getFullYear() - dtStart.getFullYear();
    }
    }
    //格式化日期
    //如:2004-6-5->2004-06-05或2004/6/5->2004/06/05
    function formatdate(olddate)
    {
    var re = /(\/|-)(\d)\b/g;
    var newdate=olddate.replace(re,"-0$2");
    return newdate;
    }
    //格式化日期
    //如:2004-6-5->2004/6/5
    function fordate(olddate)
    {
    var newdate="";
    for(i=0;i<olddate.length;i++)
    {
    newdate=newdate+olddate.substring(i,i+1).replace("-","/");
    }
    return newdate;
    }