网上找的一段代码,用着还不错,但是只能验证2000年以后的日期。 就是输入2000年以前的日期都会提示日期不对,而之后的就可以。哪位大虾帮忙改一下,先谢了!!代码如下:function checkDate(str)
{
try
{
if(str.length=="0")
{
return true;
}
if(/\-/.test(str) && /\//.test(str))
{
return false;
}
str = str.replace(/\-/g,"/");//必须要用正则来替换,否则只替换第一个出现的字符串
var tmp = str.split("/");
if(tmp.length > 3)
{
return false;
}
var tempDate = new Date(str);
var year = tempDate.getYear();
var month = tempDate.getMonth() + 1;
var day = tempDate.getDate();
//判断中间不允许有空格
if(/\s/.test(tmp[0]) || /\s/.test(tmp[1]) || /\s/.test(tmp[2]))
{
alert("中间不允许出现空格!");
return false;
}
//判断年、月、日位数,可以根据自己需求修改
if(tmp[0].length < 3 || tmp[0].length > 4)
{
return false;
}
if(tmp[1].length > 2)
{
return false;
}
if(tmp[2].length > 2)
{
return false;
}
//判断年、月、日位数,可以根据自己需求修改
if(tempDate != null)
{
return year == tmp[0] && month == tmp[1] && day == tmp[2];
}else
{
return false;
}
}catch(ex)
{
//alert(ex.message);
return false;
}
}
{
try
{
if(str.length=="0")
{
return true;
}
if(/\-/.test(str) && /\//.test(str))
{
return false;
}
str = str.replace(/\-/g,"/");//必须要用正则来替换,否则只替换第一个出现的字符串
var tmp = str.split("/");
if(tmp.length > 3)
{
return false;
}
var tempDate = new Date(str);
var year = tempDate.getYear();
var month = tempDate.getMonth() + 1;
var day = tempDate.getDate();
//判断中间不允许有空格
if(/\s/.test(tmp[0]) || /\s/.test(tmp[1]) || /\s/.test(tmp[2]))
{
alert("中间不允许出现空格!");
return false;
}
//判断年、月、日位数,可以根据自己需求修改
if(tmp[0].length < 3 || tmp[0].length > 4)
{
return false;
}
if(tmp[1].length > 2)
{
return false;
}
if(tmp[2].length > 2)
{
return false;
}
//判断年、月、日位数,可以根据自己需求修改
if(tempDate != null)
{
return year == tmp[0] && month == tmp[1] && day == tmp[2];
}else
{
return false;
}
}catch(ex)
{
//alert(ex.message);
return false;
}
}
解决方案 »
- 用jquery如何实现点击一栏目实现栏目变色,再点击另一栏目也变色,但原来的变回原色
- 这种是什么JS写法? 我是JS菜鸟。
- 高手请进
- 网页播放声音文件
- 一个遍历数组的写法的小问题
- 请教高手,activeX日历控件在网页中如何获得用户的选择值?
- 关于表格拖动问题[在线等]
- 问一下关于参数传递的问题?
- 请问,javascript怎么检测窗体空白区的尺寸?
- 大一新人求解答
- n=$("#glist").val()中怎么让n变为数字而不是字符?
- js写的一个浮动窗体,窗体上有多个input 及两个按钮(确定,取消),如何写按钮点击事件,并且如何在点击确定按钮后把该窗体的input值传到父窗体(asp.net页面)。然后父窗体获取值存入数据库
var year = tempDate.getFullYear();