Just my 2 cents, but regular expressions are the worst choice when it comes to validate datetimes. They are not meant for handling datetime values, they are meant to handle strings.
Better use the
DateTime.TryParse()
method to validate datetimes.
This way:
DateTime value;
if (DateTime.TryParse(yourStringInput, out value)) {
}
else {
}
There are also some other methods that will allow you to handle specific culture format.
More here:
DateTime Structure[
^]
Have a particular attention to
TryParse()
and
TryParseExact()
overloads.
Hope this helps. Good luck.