Asp.net 文本框的日期验证

Asp.net 文本框的日期验证,asp.net,Asp.net,我一直在用它把日期作为mm/dd/yyyy格式 <asp:CompareValidator ErrorMessage="(mm/dd/yyyy)" Display="Dynamic" ID="valcDate" ControlToValidate="txtDob" Operator="DataTypeCheck" Type="Date" runat="server"></asp:CompareValidator> <asp:RangeVal

我一直在用它把日期作为mm/dd/yyyy格式

<asp:CompareValidator ErrorMessage="(mm/dd/yyyy)" Display="Dynamic" ID="valcDate"
    ControlToValidate="txtDob" Operator="DataTypeCheck" Type="Date"     
    runat="server"></asp:CompareValidator>
<asp:RangeValidator ID="valrDate" runat="server" ControlToValidate="txtDob"  
    MinimumValue="12/31/1950"
    MaximumValue="1/1/2100" Type="Date" Text="Invalid Date" Display="Dynamic" />

但这也需要两位数的年份。。。
请建议

您可能希望使用正则表达式表示日期:

<asp:RegularExpressionValidator ID="dateValRegex" runat="server" ControlToValidate="txtDob" ErrorMessage="Please Enter a valid date in the format (mm/dd/yyyy)" ValidationExpression="^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$"></asp:RegularExpressionValidator>


此外,正如Daniel在下面指出的,您需要与其他验证器一起使用此验证器来完全验证日期。

您已经问了9个问题,但是仍然没有注意到代码示例按钮?+1可能希望为RegularExpressionValidator添加完整的代码,并解释这是必需的,同时也需要范围验证器,因为仅此正则表达式就允许一个无效日期,如2010年2月31日