【问题标题】:Regular expression for date in asp.net?asp.net中日期的正则表达式?
【发布时间】:2012-03-08 13:30:27
【问题描述】:

在 Web 应用程序中,我使用正则表达式来表示日期,例如“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))))$"

【问题讨论】:

  • 在这里查看我的答案stackoverflow.com/questions/939802/…
  • @Shoban:你应该给出这个答案。这对我以前有帮助。谢谢:)
  • 我更改了表达式,现在它可以正常用于“dd-mm-yyyy”格式

标签: asp.net regex


【解决方案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" />

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

【讨论】:

  • 你确定 Naveen 我会检查并让你回来
  • 是的,它工作正常,但我想限制用户不要输入“01/12/2012”格式,用户只需输入“01-12-2012”
【解决方案2】:

我解决了这个问题,

 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))))$"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-17
    • 2020-08-11
    • 1970-01-01
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多