| Title | Test
                    Find
                    
                    Pattern Title | 
            
                | Expression | ^[0,1]?\d{1}\/(([0-2]?\d{1})|([3][0,1]{1}))\/(([1]{1}[9]{1}[9]{1}\d{1})|([2-9]{1}\d{3}))$ | 
            
                | Description | This expression checks the validity of a date (US, but it is easily editable for other format's). Year's 1990-9999, Month's 1 or 01 to 12, Day's 1 or 01 to 31. Still needs to have individual months added (i.e., Feb's 28 days), and some how to check for leap year...the months issue should not be to hard, but the leap year seems like a real chore. Please let me know if you have any suggestions for leap year.
 | 
            
                | Matches | 01/01/1990 | 12/12/9999 | 3/28/2001 | 
            
                | Non-Matches | 3-8-01 | 13/32/1001 | 03/32/1989 | 
            
                | Author | Rating:  Scott Watermasysk | 
            
                | Source |  | 
            
              | Your Rating |  | 
        
    
 
    
    
     
        
                
	                Title: Modification
	                Name: Black Cloud
	                Date: 4/19/2012 5:26:24 PM
	                Comment: 
Hey I tried to modify your regex a little bit.
It doesn't take 13 or 0 as month, but it still takes 0 in date field :(
^(([1][0-2])|([0]?[1-9]{1}))\/(([0-2]?\d{1})|([3][0,1]{1}))\/(([1]{1}[9]{1}[9]{1}\d{1})|([2-9]{1}\d{3}))$
                
                
            
                
	                Title: Lets through invalid months and days
	                Name: Jeff Adams
	                Date: 8/25/2009 2:09:26 PM
	                Comment: 
matches 0/0/1990, 19/0/1990
                
                
            
                
	                Title: Lets through invalid months and days
	                Name: Jeff Adams
	                Date: 8/25/2009 2:08:32 PM
	                Comment: 
matches 0/0/1990, 19/0/1990
                
                
            
                
	                Title: Scotts Date in German format (dd.mm.yyyy) and allowing only up to 31.12.2999
	                Name: Chris
	                Date: 4/22/2009 6:49:06 AM
	                Comment: 
^(([0-2]?\d{1})|([3][0,1]{1}))\.[0,1]?\d{1}\.(([1]{1}[9]{1}[9]{1}\d{1})|([2]{1}\d{3}))$
                
                
            
                
	                Title: Regular Expression for Checking Date 
	                Name: Syed Abdul Haq (from Pakistan)
	                Date: 2/14/2007 7:44:57 AM
	                Comment: 
'This is VB .Net Function.Although Date format is different 'but you an see how it works....
'Checks the Date Format through Regular Expressions.
'Checks for the leap year,Length of Months also
'Input Date Format : YY/MM/DD (77/07/28)
Function CheckDateByRegExp(ByVal strDate As String) As Boolean
        Dim leapYearFormat As String = "([02468][048]|[13579][26])"
        Dim LeapYearFebFormat As String = "(02(0[1-9]|1[0-9]|2[0-9]))"
        Dim nonLeapYearFormat As String = "\d{2}"
        Dim NonLeapYearFebFormat As String = "([0][2]([0][1-9]|[1][0-9]|[2][0-8]))"
        Dim MonthsOf31DaysFormat As String = "(((0[1|3|5|7|8])|(1[02]))((0[1-9])|([12][0-9])|(3[01])))"
        Dim MonthsOf30DaysFormat As String = "((([0][4|6|9])|([1][1]))(([0][1-9])|([1-2][0-9])|([3][0])))"
        Dim nonLeapYearMonthsFormat As String = NonLeapYearFebFormat & "|" & "(" & MonthsOf30DaysFormat & "|" & MonthsOf31DaysFormat & ")"
        Dim leapYearMonthsFormat As String = LeapYearFebFormat & "|" & "(" & MonthsOf30DaysFormat & "|" & MonthsOf31DaysFormat & ")"
        
        Dim Dateformat As String = "^((" & leapYearFormat & "(" & leapYearMonthsFormat & "))|" & "(" & nonLeapYearFormat & "(" & nonLeapYearMonthsFormat & ")))$"
        If Regex.Match(strDate, Dateformat).Success Then
            MsgBox("True:Correct Date!!!")
            Return True
        Else
            MsgBox("False:Wrong Date!!!")
            Return False
        End If
    End Function