简单的就是这样:
/([\d]{4})\-([\d]{2})\-([\d]{2})/

解决方案 »

  1.   

    哎……我写的就比较丑陋了
    $reg = '/\d{4}-((0[1-9])|(1[1-2]))-(([0][1-9])|([12][1-9])|([3][0-1]))/';
      

  2.   

    不但丑陋,上面的还写错了当然这个也未必对-___-!
    $reg = '/\d{4}-((0[1-9])|(1[0-2]))-(([0][1-9])|([12][0-9])|([3][0-1]))/';
      

  3.   


    preg_match("/(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)
    /",$date);