//匹配日期格式2008-01-31,但不匹配2008-13-00
patterns.date = /^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/;
/*匹配时间格式00:15:39,但不匹配24:60:00,下面使用RegExp对象的构造方法
来创建RegExp对象实例,注意正则表达式模式文本中的“\”要写成“\\”*/
patterns.time = new RegExp("^([0-1]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$");
patterns.date = /^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/;
/*匹配时间格式00:15:39,但不匹配24:60:00,下面使用RegExp对象的构造方法
来创建RegExp对象实例,注意正则表达式模式文本中的“\”要写成“\\”*/
patterns.time = new RegExp("^([0-1]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$");
function CheckDateTime(str){
var reg = /^(\d+)-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)return false;
r[2]=r[2]-1;
var d= new Date(r[1], r[2],r[3], r[4],r[5], r[6]);
if(d.getFullYear()!=r[1])return false;
if(d.getMonth()!=r[2])return false;
if(d.getDate()!=r[3])return false;
if(d.getHours()!=r[4])return false;
if(d.getMinutes()!=r[5])return false;
if(d.getSeconds()!=r[6])return false;
return true;
}
{
var str="2003-11-24 "+args.Value+":12";
var reg = /^(\d+)-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null)
{
args.IsValid = false;
return;
}
r[2]=r[2]-1;
var d= new Date(r[1], r[2],r[3], r[4],r[5], r[6]);
if(d.getFullYear()!=r[1])
{
args.IsValid = false;
return;
}
if(d.getMonth()!=r[2])
{
args.IsValid = false;
return;
}
if(d.getDate()!=r[3])
{
args.IsValid = false;
return;
}
if(d.getHours()!=r[4])
{
args.IsValid = false;
return;
}
if(d.getMinutes()!=r[5])
{
args.IsValid = false;
return;
}
if(d.getSeconds()!=r[6])
{
args.IsValid = false;
return;
}
args.IsValid = true; }