<input type=text id=tDate onblur="checkDate(tDate.value)">
<script language=javascript>
//判断日期格式YYYY-MM-DD
//限中文操作系统function checkDate(inputDate)
{
if(inputDate!="")
{
var reg = /^(\d{4})\-(\d{2})\-(\d{2})$/;if(reg.exec(inputDate)==null)
{
alert("Wrong Date");
return false;
}
var year = RegExp.$1;
var month = RegExp.$2;
var day = RegExp.$3;
var d = new Date(month+"/"+day+"/"+year);var dateStr = d.toLocaleString();newMonth = dateStr.substring(dateStr.indexOf("年")+1,dateStr.indexOf("月"));if(newMonth!= parseInt(month,10).toString())
{
alert("Wrong Date");
return false;
}else
{
alert("True Date");
return true;
}
}
}
</script>
<script language=javascript>
//判断日期格式YYYY-MM-DD
//限中文操作系统function checkDate(inputDate)
{
if(inputDate!="")
{
var reg = /^(\d{4})\-(\d{2})\-(\d{2})$/;if(reg.exec(inputDate)==null)
{
alert("Wrong Date");
return false;
}
var year = RegExp.$1;
var month = RegExp.$2;
var day = RegExp.$3;
var d = new Date(month+"/"+day+"/"+year);var dateStr = d.toLocaleString();newMonth = dateStr.substring(dateStr.indexOf("年")+1,dateStr.indexOf("月"));if(newMonth!= parseInt(month,10).toString())
{
alert("Wrong Date");
return false;
}else
{
alert("True Date");
return true;
}
}
}
</script>
{ var iaMonthDays = [31,28,31,30,31,30,31,31,30,31,30,31]
var iaDate = new Array(3)
var year, month, day if (arguments.length != 1) return false
iaDate = sDate.toString().split("-")
if (iaDate.length != 3) return false
if (iaDate[1].length > 2 || iaDate[2].length > 2) return false
if (isNaN(iaDate[0])||isNaN(iaDate[1])||isNaN(iaDate[2])) return false year = parseFloat(iaDate[0])
month = parseFloat(iaDate[1])
day=parseFloat(iaDate[2]) if (year < 1900 || year > 2100) return false
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) iaMonthDays[1]=29;
if (month < 1 || month > 12) return false
if (day < 1 || day > iaMonthDays[month - 1]) return false
return true
}
function stringToDate(sDate, bIgnore)
{ var bValidDate, year, month, day
var iaDate = new Array(3)
if (bIgnore) bValidDate = true
else bValidDate = isDateString(sDate)
if (bValidDate)
{ iaDate = sDate.toString().split("-")
year = parseFloat(iaDate[0])
month = parseFloat(iaDate[1]) - 1
day=parseFloat(iaDate[2])
return (new Date(year,month,day))
}
else return (new Date(1900,1,1))
}
<script>
function IsDate(val)
{
var reg=/^(\d{4})-(\d{2})-(\d{2})$/
var r = val.match(reg);
if(val == '')
{
alert('输入不能为空');
return;
}
if (r == null)
{
alert("输入格式错误");
return;
}
else
{
alert(r.slice(0,r.length));
r[2]--;
var d= new Date(r[1], r[2],r[3]);
if(d.getDate()!=r[3])
{
alert("日期格式错误!");
return;
}
if(d.getMonth()!=r[2])
{
alert("月份格式错误!");
return;
}
if(d.getFullYear()!=r[1])
{
alert("年份格式错误!");
return;
}
}
alert("输入正确!");
}
</script>
<input type="text" value="" onblur="IsDate(this.value)">