String auf korrektes Datum prüfen

using System.Text.RegularExpressions;

// Datum der Form "tt.mm.jjjj"
// jede Gruppe muss genau 1x vorkommen
// Tag: 1., 01. - 31.
// .
// Monat: 1., 01. - 12.
// .
// Jahr: 1900, 1980, 2000, 2009 ...
Regex rex = new Regex("^(0[1-9]|[1-9]|[12][0-9]|3[01]){1}\\.(0[1-9]|[1-9]|1[012]){1}\\.((19|20){1}[0-9]{2}){1}$", RegexOptions.None);

if (rex.IsMatch("1.1.2009"))
{
    // Datum ok
}