First, many people suggest using Regex Validator in the ASP.NET toolkit to check for regular expression.
However, it is not culturally sensitive, for example. UK == DD / MM / YYYY, while the US == MM / DD / YYYY, and many people use ISO YYYY-MM-DD
It is best to use CompareValidator and do a type check:
<asp:CompareValidator ID="CompareValidator1" runat="server"
ControlToValidate="DateTextBox" ErrorMessage="Enter a valid date"
Operator="DataTypeCheck" Type="Date" ValidationGroup="GroupName" />
DateTimePicker, AJAX ScriptManager , .
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit"
TagPrefix="ajaxToolkit" %>
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:Label ID="lblDate" runat="server" Text="Date: "></asp:Label>
<asp:TextBox ID="txtDate" runat="server" Width="140px"></asp:TextBox>
<asp:Image ID="imgCalendar" runat="server" ImageUrl="~/Images/Calendar.png" />
<ajaxToolkit:CalendarExtender ID="CalendarExtender1" runat="server"
TargetControlID="txtDate" Format="MM/dd/yyyy"
PopupButtonID="imgCalendar" />
<asp:CompareValidator ID="CompareValidator1" runat="server"
ControlToValidate="txtDate" ErrorMessage="* Enter a valid date"
Operator="DataTypeCheck" Type="Date" ValidationGroup="grpDate" />
http://blogs.mgtechgroup.com/markc/archive/2007/06/07/ASP.NET-Date-Validator.aspx