日期验证参数

时间:2015-03-09 16:15:16

标签: javascript

我有一些我正在处理的旧代码(不是我的代码),特别是日期验证功能。用户输入日期,函数检查onBlur="validateDate(this.value)"格式和编号是否正确。如果发现问题,系统将提醒用户。但是,有一些事情没有考虑到。例如,您可以键入日期值的字符,系统将接受它。系统还将接受不同于MM / DD / YYYY格式(2/2/4)的字符串长度。如何轻松修改代码以考虑这些参数?

function validateDate(date_string)
    {
        if (date_string.indexOf('/') == -1)
        {
            alert("this date is not valid. Please enter a data in MM/DD/YYYY format");
            ErrorCount=1;
        }
        else
        {    
            if (date_string.indexOf(' ') >=0)
            {     
                alert("this date is not valid.  Please enter a data in MM/DD/YYYY format");
                ErrorCount=1;
            }
            else
            {
                var date_element=date_string.split('/');
                if(date_element[0] < 1 || date_element[0] > 12)
                {
                    alert("Month should be a value between 1 and 12");
                    ErrorCount=1;
                }
                if(date_element[1] < 1 || date_element[1] > 31)
                {
                    alert("Day should be a number between 1 and 31");
                    ErrorCount=1;               
                }
                if(date_element[2] < 1999 || date_element[2] > 2075)
                {
                    alert("The year is suspect");
                    ErrorCount=1;               
                }
            }   

        }
        if  (ErrorCount==1)
            {document.getElementById('release_date').focus(); }
        ErrorCount=0;
    }

1 个答案:

答案 0 :(得分:0)

相反,您可以使用内置日期功能,即

new Date('2/2/4');
Output: Mon Feb 02 2004 00:00:00 GMT+0530 (IST)


new Date('2/42/4');
Output: Invalid date

然后您可以使用getFullYear(),getDate(),getMonth()等函数来检索您想要的任何内容。