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);
}

解决方案 »

  1.   

    /\d(4)\/\d(2)\/\d(2)/\/ shi /
      

  2.   

    /\d{4}\/\d{2}\/\d{2}/ 改一下
      

  3.   

    function isDate(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");
    }
    }
      

  4.   

    ([0]{3}[1-9]|[0]{2}[1-9][\d]|[0][1-9][\d]{2}|[1-9][\d]{3})/([0][1-9]|[1][012])/([0][1-9]|[12][\d]|[3][01])
    这个能判断(0001-9999年)/(01-12月)/(01-31日)
    有个.net做的小软件 RegexTester可以测试正则,你可以下了测试一下你要写的正则