求正则验证 yyyy/mm/dd 这样的时间格式?

解决方案 »

  1.   

    string pattern = @"^\d{4}([/])\d{1,2}\1\d{1,2}$";
      

  2.   


    var reg = /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))(\s(([01]\d{1})|(2[0123])):([0-5]\d):([0-5]\d))?$/;
    这个正则,可以验证 (格式:2008-08-08 或者 2008-08-08 20:08:08)
    你要的那种,你把 - 改成 /  就可以了!
      

  3.   

     Regex regs = new Regex(@"^\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|3[0-1])$");这样吗? 不对啊?
      

  4.   


    我在regex 里面使用 怎么使用啊?
      

  5.   

    var date = "2012-05-12";
    if (reg.test(date) ) {
        return true;
    }
      

  6.   

    试试看,在VS里都返回true,你可以试试其他的bool regs1 = Regex.IsMatch(@"1998/11/30", @"^\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|3[0-1])$");
    bool regs2 = Regex.IsMatch(@"2008/12/31", @"^\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|3[0-1])$");
      

  7.   

     bool regs1 = Regex.IsMatch(@"1998/6/30", @"^\d{4}/(0?[1-9]|1[0-2])/([0-2][0-9]|3[0-1])$");
     bool regs2 = Regex.IsMatch(@"2008/12/31", @"^\d{4}/(0?[1-9]|1[0-2])/([0-2][0-9]|3[0-1])$");
      

  8.   

    改一下
    bool regs1 = Regex.IsMatch(@"1998/6/3", @"^\d{4}/(0?[1-9]|1[0-2])/((0?[1-9]|[1-2][0-9])|3[0-1])$");