zoukankan      html  css  js  c++  java
  • 如何用javascript判断录入的日期是否合法

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

    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;
    }
  • 相关阅读:
    五秒原则,做一件事之前数 5 秒,1,2,3,4,5 立马去做。比如睡觉:数五秒,立马放下手机,闭眼。
    Perl 安装 JSON 包
    Perl: hash散列转换为Json报错集, perl.c,v $$Revision: 4.0.1.8 $$Date: 1993/02/05 19:39:30 $
    叫法: 表名 表字段名 定义每个表字段
    失误1: 把i放到循环体内部,i++失效
    沈南鹏@《遇见大咖》: A轮没投,投了8个月以后就证明了张一鸣是对了,在美国都没有张一鸣这种模式
    xshell通过xftp传输Windows文件到Linux:在输入put后,再摁 TAB 键,可显示当前文件夹的文件
    LeetCode84 Largest Rectangle in Histogram
    全排列问题及其引申问题
    LeetCode Weekly Contest 8
  • 原文地址:https://www.cnblogs.com/dahuzizyd/p/javascript_Date_Check.html
Copyright © 2011-2022 走看看