function isDate(str)
{
var patt=/^(((([1-9])|(0[1-9])|(1[012]))[/]((0?\d)|([12]\d)|(3[01]))[/](19|20)\d{2})|((19|20)\d{2}[/](([1-9])|(0[1-9])|(1[012]))[/]((0?\d)|([12]\d)|(3[01]))))$/;
return patt.test(str);
}
{
var patt=/^(((([1-9])|(0[1-9])|(1[012]))[/]((0?\d)|([12]\d)|(3[01]))[/](19|20)\d{2})|((19|20)\d{2}[/](([1-9])|(0[1-9])|(1[012]))[/]((0?\d)|([12]\d)|(3[01]))))$/;
return patt.test(str);
}
{
var pp=new RegExp("(([1-9])([0-9])([0-9])([0-9]))/((0([1-9])|1([1-2])))/((0([1-9]))|(1([0-9]))|(2([0-9]))|(3([0-1])))");
if(!pp.exec(str))
{
alert("false");
}
else
{
alert("true");
}
}
这个能判断(0001-9999年)/(01-12月)/(01-31日)
有个.net做的小软件 RegexTester可以测试正则,你可以下了测试一下你要写的正则