当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 如何用javascript判断录入的日期是否合法

如何用javascript判断录入的日期是否合法

2019年07月30日  | 移动技术网IT编程  | 我要评论
复制代码 代码如下:

function isvalidyear(psyear)
{
    var syear = new string(psyear);


    if(psyear==null)
    {
        return false;
    }


    if(isnan(psyear)==true)
    {
        return false;
    }

    if(syear == "")
    {
        return true;
    }

    if(syear.match(/[^0-9]/g)!=null)
    {
        return false;
    }

    var nyear = parseint(syear, 10);

    if((nyear < 0) || (9999 < nyear))
    {
        return false;
    }

    return true;
}


function isvalidmonth(psmonth)
{
    var smonth = new string(psmonth);

    if(psmonth==null)
    {
        return false;
    }

    if(isnan(psmonth)==true)
    {
        return false;
    }

    if(smonth == "")
    {
        return true;
    }

    if(smonth.match(/[^0-9]/g)!=null)
    {
        return false;
    }

    var nmonth = parseint(smonth,10);

    if((nmonth < 0) || (12 < nmonth))
    {
        return false;
    }

    return true;
}


function isvalidday(psday)
{
    var sday  = new string(psday);

    if(psday==null)
    {
        return false;
    }

    if(isnan(psday)==true)
    {
        return false;
    }

    if(sday == "")
    {
        return true;
    }

    if(sday.match(/[^0-9]/g)!=null)
    {
        return false;
    }

    var nday = parseint(psday, 10);

    if((nday < 0) || (31 < nday))
    {
        return false;
    }

    return true;
}


function isvaliddate(psyear, psmonth, psday)
{
    if(psyear==null || psmonth==null || psday==null)
    {
        return false;
    }

    var syear  = new string(psyear);
    var smonth = new string(psmonth);
    var sday   = new string(psday);

    if(isvalidyear(syear)==false)
    {
        return false;
    }

    if(isvalidmonth(smonth)==false)
    {
        return false;
    }

    if(isvalidday(sday)==false)
    {
        return false;
    }

    var nyear  = parseint(syear,  10);
    var nmonth = parseint(smonth, 10);
    var nday   = parseint(sday,   10);

    if(syear=="" &&  smonth=="" && sday=="")
    {
        return true;
    }

    if(syear=="" || smonth=="" || sday=="")
    {
        return false;
    }

    if(nmonth < 1 || 12 < nmonth)
    {
        return false;
    }
    if(nday < 1 || 31 < nday)
    {
        return false;
    }

    if(nmonth == 2)
    {
        if((nyear % 400 == 0) || (nyear % 4 == 0) && (nyear % 100 != 0))
        {
            if((nday < 1) || (nday > 29))
            {
                return false;
            }
        }
        else 
        {
            if((nday < 1) || (nday > 28))
            {
                return false;
            }
        }
    }
    else if((nmonth == 1)  || 
            (nmonth == 3)  || 
            (nmonth == 5)  || 
            (nmonth == 7)  || 
            (nmonth == 8)  || 
            (nmonth == 10) || 
            (nmonth == 12))
    {
        if((nday < 1) || (31 < nday))
        {
            return false;
        }
    }
    else 
    {
        if((nday < 1) || (30 < nday))
        {
            return false;
        }
    }

    return true;
}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网