【问题标题】:How to apply regular expression for Date format MM/DD/YYYY HH:MM:SS am/pm in ASP.NET如何在 ASP.NET 中为日期格式 MM/DD/YYYY HH:MM:SS am/pm 应用正则表达式
【发布时间】:2015-06-29 12:45:40
【问题描述】:

我有一个文本框,我从 dd/mm/yyyy hh:mm:ss 的用户那里获取输入。现在,我想用正则表达式验证它。我不确定如何应用表达式。我也附上了我的代码。

  <tr>
      <td style="width: 30%" class="EcommLabel">
          Date From
      </td>
      <td style="width: 70%" class="EcommLabel">
          <asp:TextBox ID="txtDateFrom" CssClass="EcommNormalTextBox" runat="server">
          </asp:TextBox>MM/DD/YYYY<br />

      <%-- <asp:RegularExpressionValidator ID="regDateFrom" ValidationExpression="^(((0?[1-9]|1[012])/(0?[1-9]|1\d|2[0-8])|(0?[13456789]|1[012])/(29|30)|(0?[13578]|1[02])/31)/(19|[2-9]\d)\d{2}|0?2/29/((19|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00)))$" ControlToValidate="txtDateFrom" ValidationGroup="Promotion" runat="server" ErrorMessage="Invalid Date"></asp:RegularExpressionValidator>--%>

      <asp:RangeValidator runat="server" ID="rvDateFrom" Type="Date" ControlToValidate="txtDateFrom" MaximumValue="3000/12/31" MinimumValue="2000/1/1" ErrorMessage="Invalid Date" Display="Dynamic" ValidationGroup="Promotion" />
      </td>
  </tr>

【问题讨论】:

  • 自定义 DateTime 解析而不是正则表达式怎么样?
  • 不,实际上我只需要使用正则表达式来完成..
  • 为什么?我真的很好奇为什么你只能使用正则表达式......
  • 不同的文化怎么样?
  • @wonderb0lt 查看asp:RegularExpressionValidator?

标签: c# asp.net reg-expressionvalidator


【解决方案1】:

使用这个表达式 "(\d{2}):(\d{2}):(\d{4}):(\d{2}):(\d{2}):(\d {2})" 喜欢

<asp:RegularExpressionValidator ID="regDateFrom" ValidationExpression="(\d{2}):(\d{2}):(\d{4}):(\d{2}):(\d{2}):(\d{2})"
                                    ControlToValidate="txtDateFrom" ValidationGroup="Promotion" runat="server"
                                    ErrorMessage="Invalid Date"></asp:RegularExpressionValidator>

另请参阅以下 stackoverflow 问题:
How to write a regex for MM:DD:YYYY:HH:MM:SS
MM/DD/YYYY HH:MM:SS AM/PM date validation regular expression in javascript

希望对你有帮助!

【讨论】:

    【解决方案2】:

    改变你的正则表达式就可以了。

    使用下面的正则表达式

    ^([1-9]|([012][0-9])|(3[01]))-([0]{0,1}[1-9]|1[012]) -\d\d\d\d [012]{0,1}[0-9]:[0-5][0-9]:[0-5][0-9]$

    它将验证值 01-12-2011 19:59:59

    <asp:RegularExpressionValidator ID="regDateFrom" 
      ValidationExpression="^([1-9]|([012][0-9])|(3[01]))-([0]{0,1}[1-9]|1[012])-\d\d\d\d [012]{0,1}[0-9]:[0-5][0-9]:[0-5][0-9]$"  
      ControlToValidate="txtDateFrom" ValidationGroup="Promotion" 
      runat="server"
      ErrorMessage="Invalid Date">
    </asp:RegularExpressionValidator>
    

    【讨论】:

      【解决方案3】:

      我有一个日期选择器,我从 MM/DD/YYYY 用户那里获取输入。我想用正则表达式验证它。查找下面的代码可能会有所帮助。

      expression = "^([0]{0,1}[1-9]|1[012])/([1-9]|([012][0-9])|(3[01]))/[0-9]{4}$";
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-11-04
        • 2018-09-18
        • 2010-11-21
        • 1970-01-01
        • 1970-01-01
        • 2017-08-21
        • 2019-04-03
        相关资源
        最近更新 更多