先根据格式取得年月日,比如 s = "2007-8-1"; a = s.split("-"); y = parseInt(a[0]); m = parseInt(a[1])-1; d = parseInt(a[2]);dt = new Date(y,m,d); if(dt.getFullYear()!=y || dt.getMonth()!=m || dt.getDate()!=d) alert("错误的日期"); else alert("有效的日期");简单点的用Date.parse(s),但s的格式有要求.
alert(d instanceof Date);
s = "2007-8-1";
a = s.split("-");
y = parseInt(a[0]);
m = parseInt(a[1])-1;
d = parseInt(a[2]);dt = new Date(y,m,d);
if(dt.getFullYear()!=y || dt.getMonth()!=m || dt.getDate()!=d) alert("错误的日期");
else alert("有效的日期");简单点的用Date.parse(s),但s的格式有要求.
这种类型能说具体一点吗》?
function checkDate(obj){
var strDate=obj.value;
re=/^(\d{4})(\d{2})(\d{2})$/g
if(re.test(strDate))//判断日期格式符合YYYY-MM-DD标准
{
var dateElement=new Date(RegExp.$1,parseInt(RegExp.$2,10)-1,RegExp.$3);
if(!((dateElement.getFullYear()==parseInt(RegExp.$1))&&((dateElement.getMonth()+1)==parseInt(RegExp.$2,10))&&(dateElement.getDate()==parseInt(RegExp.$3))))//判断日期逻辑
{
alert("不符合时间逻辑")
obj.value='';
}
}
else
{
alert("格式输入错误")
obj.value='';
}
}
</script>
<input name="aaa" onblur="checkDate(this)">在邻居copy的
function checkDate(obj){
var strDate=obj.value;
re=/^(\d{4})(\d{2})(\d{2})$/g
if(re.test(strDate))//判断日期格式符合YYYY-MM-DD
{
alert("right");//do something
}
}
就可以了