asp.net中的日期正则表达式?

时间:2012-02-17 05:26:40

标签: asp.net regex

在网络应用程序中,我使用正则表达式为日期,如“dd-mm-yyyy”格式为此我得到验证,但是当我们输入日期如“12-02-2012”剩余条件时它不起作用工作正常,你能帮助我这是我的验证表达。

  <asp:RegularExpressionValidator ID ="myg" runat ="server" ControlToValidate ="txt" ErrorMessage ="Check"
      ValidationExpression ="^(((0[1-9]|[12]\d|3[01])-(0[13578]|1[02])-((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)-(0[13456789]|1[012])-((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$" >
  </asp:RegularExpressionValidator>

我解决了这个问题,

   ValidationExpression ="^(((0[1-9]|[12]\d|3[01])-(0[13578]|1[02])-((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)-(0[123456789]|1[012])-((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$"

2 个答案:

答案 0 :(得分:1)

asp:RegularExpression不是这样做的方法。 要使用ASP.NET验证程序验证日期,请使用理想来使用asp:CompareValidator

这是一个小模型

<asp:TextBox ID="txtDatecompleted" runat="server"/>
<asp:CompareValidator ID="dateValidator" runat="server"
    ControlToValidate="txtDatecompleted" 
    ErrorMessage="Please enter a valid date."
    Operator="DataTypeCheck"
    Type="Date"
    ValidationGroup="TestVGroup">
</asp:CompareValidator>
<br />
<asp:Button ID="ClickButton" Text="Click Me" runat="server" 
    ValidationGroup="TestVGroup"
    OnClick="ClickButton_Click" />

这将自动检查不同的日期格式和闰年

答案 1 :(得分:0)

我解决了这个问题,

 ValidationExpression ="^(((0[1-9]|[12]\d|3[01])-(0[13578]|1[02])-((19|[2-9]\d)\d{2}))|
    ((0[1-9]|[12]\d|30)-(0[123456789]|1[012])-((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])
    \/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|
    ((16|[2468][048]|[3579][26])00))))$"