我有一些我正在处理的旧代码(不是我的代码),特别是日期验证功能。用户输入日期,函数检查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;
}
答案 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()等函数来检索您想要的任何内容。