if(dateString.trim()=="")returntrue
varr=dateString.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/)
if(r==null){
alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例 如:2008-08-08\n\r")
returnfalse
}
vard=newDate(r[1],r[3]-1,r[4])
varnum = (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4])
if(num==0){
alert("请输入格式正确的日期\n\r日期格式:yyyy-mm-dd\n\r例 如:2008-08-08\n\r")
}
return(num!=0)
}
通过js的Date对象进行判断JSON是一种数据格式,和JS对象虽然语法类似,但是还是有根本区别的。JSON格式在传输时只能传输一些基本数据类型,如String、Number、Boolean。因此我想你说的date类型只是JSON数据中的一个字符串,例如:varjson={date:'2013-02-2610:50:22'}你可以通过一个正则表达式来判断是否为日期格式,如:varreg=/^\d{4}-\d{2}-\d{2}\d{2}:\d{2}:\d{2}$/varisDate=reg.test(json.date)alert(isDate)
主要原理是把得到的年月日拼成字符串与客户端输入的做比较,如相等则对,否则错。函数如下:
function
checkdate(instring,fieldname)
{
var
tempdate
var
a=new
date(instring)
var
y=a.getfullyear()
var
m=a.getmonth()+1
var
d=a.getdate()
var
myday=y
+
"/"
+
m
+
"/"
+
d
if
(myday!=instring)
{
alert
"请为"+
fieldname
+"输入一有效日期(yyyy/m/d/)。"
return
false
}
return
true
}