Javascript 日期验证参数

Javascript 日期验证参数,javascript,Javascript,我有一些我正在处理的旧代码(不是我的),特别是一个日期验证函数。用户输入日期,函数使用onBlur=“validateDate(this.value)”检查格式和编号是否正确。如果发现问题,系统将提醒用户。然而,有几件事它没有考虑进去。例如,您可以为日期值键入字符,系统将接受它。系统还将接受不同于MM/DD/YYYY格式(2/2/4)的字符串长度。如何轻松修改代码以考虑这些参数 function validateDate(date_string) { if (date_s

我有一些我正在处理的旧代码(不是我的),特别是一个日期验证函数。用户输入日期,函数使用
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;
    }
函数validateDate(日期字符串)
{
if(date_string.indexOf('/')=-1)
{
警报(“此日期无效。请以MM/DD/YYYY格式输入数据”);
错误计数=1;
}
其他的
{    
如果(日期字符串索引(“”)>=0)
{     
警报(“此日期无效。请以MM/DD/YYYY格式输入数据”);
错误计数=1;
}
其他的
{
var date_element=date_string.split('/');
如果(日期元素[0]<1 |日期元素[0]>12)
{
警报(“月份应为介于1和12之间的值”);
错误计数=1;
}
如果(日期元素[1]<1 |日期元素[1]>31)
{
警报(“日期应为1到31之间的数字”);
错误计数=1;
}
如果(日期元素[2]<1999 |日期元素[2]>2075)
{
警报(“年份可疑”);
错误计数=1;
}
}   
}
如果(ErrorCount==1)
{document.getElementById('release_date').focus();}
ErrorCount=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()等函数来检索您想要的任何内容