^\d{2}\/((0?[1-9])|(1[0-2]))\/((3[0,1])|([1,2][0-9])|(0?[1-9]))$  可以判断yy/mm/dd 格式是否正确,但无法判断日期是否有效,例如:08/04/31 无法写入数据库,无法判断出不合法,如何修改,使其可以判断出08/04/31 的合法性

解决方案 »

  1.   


    ^(?:(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(\/|-|\.)(?:0?2\1(?:29))$)|(?:(?:1[6-9]|[2-9]\d)?\d{2})(\/|-|\.)(?:(?:(?:0?[13578]|1[02])\2(?:31))|(?:(?:0?[1,3-9]|1[0-2])\2(29|30))|(?:(?:0?[1-9])|(?:1[0-2]))\2(?:0?[1-9]|1\d|2[0-8]))$
    试试...
      

  2.   

    ^(((19 ¦[2-9]\d)(\d{2}))/(((0?[13578] ¦1[02])/(0?[1-9] ¦[12]\d ¦3[01])) ¦((0?[469] ¦11)/(0?[1-9] ¦[12]\d ¦30)) ¦(0?2/ (0?[1-9] ¦[1]\d ¦2[0-8])))) ¦(((19 ¦[2-9]\d)(0?[48] ¦[2468][048] ¦[13579][26]) ¦((0?[48] ¦[2468][048] ¦[3579][26])00)) /0?2/29)$ 
      

  3.   

    (\d|[1-9]\d|2[0-4]\d|25[0-5])((\.(25[0-5]|[1-9]\d|\d|2[0-4]\d)){3})这样更为合理过滤掉了00或01...出现的可能