yyyy/mm/dd正则表达式,要能判断输入时间是否正确,如2007/2/29 这种是不能输入的

解决方案 »

  1.   

      public static bool IsTime(string timeval)
            {
                return Regex.IsMatch(timeval, @"^((([0-1]?[0-9])|(2[0-3])):([0-5]?[0-9])(:[0-5]?[0-9])?)$");
            }
      

  2.   

    最强验证日期的正则表达式,添加了闰年的验证这个日期正则表达式支持
    YYYY-MM-DD 
    YYYY/MM/DD 
    YYYY_MM_DD 
    YYYY.MM.DD的形式match : 2008-2-29 2008/02/29not match : 2008-2-30    2007-2-29
    ((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)$))
    楼主要求的是((^((1[8-9]\d{2})|([2-9]\d{3}))([\/])(10|12|0?[13578])([\/])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([\/])(11|0?[469])([\/])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([\/])(0?2)([\/])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([\/])(0?2)([\/])(29)$)|(^([3579][26]00)([\/])(0?2)([\/])(29)$)|(^([1][89][0][48])([\/])(0?2)([\/])(29)$)|(^([2-9][0-9][0][48])([\/])(0?2)([\/])(29)$)|(^([1][89][2468][048])([\/])(0?2)([\/])(29)$)|(^([2-9][0-9][2468][048])([\/])(0?2)([\/])(29)$)|(^([1][89][13579][26])([\/])(0?2)([\/])(29)$)|(^([2-9][0-9][13579][26])([\/])(0?2)([\/])(29)$))