// 根据年、月返回天数
function GetDay(varYear, varMonth)
{
var lngDay
varYear = parseInt(varYear)
varMonth = parseInt(varMonth) switch (varMonth) {
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 :
lngDay = 31
break
case 4 :
case 6 :
case 9 :
case 11 :
lngDay = 30
break
case 2 :
if ((varYear % 4 == 0 && varYear % 100 != 0) || (varYear % 400 == 0))
lngDay = 29
else
lngDay = 28
break
} // switch
return lngDay
}// 日期是否正确
function CheckDate(obj)
{
var strDate, arrDate
var lngYear, lngMonth, lngDay
var strReg
var strError strError = ""
strReg = /^\d{4}-\d{2}-\d{2}$/;
strDate = obj.value arrDate = strDate.split("-")
if (strReg.test(strDate)) {
lngYear = parseInt(arrDate[0], 10)
lngMonth = parseInt(arrDate[1], 10)
lngDay = parseInt(arrDate[2], 10)// alert(lngYear + "," + lngMonth + "," + lngDay)
// return
}
if (!strReg.test(strDate)) {
strError = "格式错误!\n正确格式: yyyy-mm-dd"
}
else if (lngMonth < 1 || lngMonth > 12) {
strError = "月份应在01-12之间!"
}
else if (lngDay < 1 || lngDay > GetDay(lngYear, lngMonth)) {
strError = "天数应在01-" + GetDay(lngYear, lngMonth) +"之间!"
} if (strError != "") {
alert(strError)
obj.select()
obj.focus()
}
}
String.prototype.isDate = function() {
var p;
var re1 = /(\d{4})[年./-](\d{1,2})[月./-](\d{1,2})[日]?$/;
var re2 = /(\d{1,2})[月./-](\d{1,2})[日./-](\d{2})[年]?$/;
var re3 = /(\d{1,2})[月./-](\d{1,2})[日./-](\d{4})[年]?$/;
if(re1.test(this)) {
p = re1.exec(this);
return new Date(p[1],p[2],p[3]);
}
if(re2.test(this)) {
p = re2.exec(this);
return new Date(p[3],p[1],p[2]);
}
if(re3.test(this)) {
p = re3.exec(this);
return new Date(p[3],p[1],p[2]);
}
return false;
}
你可以根据自己的要求定义。
验证日期的正确性。语法: int checkdate(int month, int day, int year);传回值: 整数函式种类: 时间日期
内容说明
若日期是有效的则传回 true,若日期有问题,则传回 false。本函式可以用来检查日期是否有效。有效范围如下:年 为 0 至 32767 年
月 为 1 至 12 月
日 则随着月份及闰年变化
引用格式
"2003-04-01".isDate()
<input type="text" name= getdate>
<input type="submit" name="Submit" value="Submit">
然后呢?直接把你上面那一段加上去吗?好象会报错呀
if ($getdate.isDate()){}else{
echo "数据格式无效"
}
js:
if(! inputvalue.isDate())
alert("数据格式无效")
if (checkdate($month, $day, $year)
echo '正确';
else
echo '错误';