如何在ASP.NET中使用日期格式MM / DD / YYYY HH:MM:SS am / pm的正则表达式

时间:2015-06-29 12:45:41

标签: c# asp.net reg-expressionvalidator

我有一个TextBox,我从 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>

3 个答案:

答案 0 :(得分:1)

使用此表达式&#34;(\ d {2}):( \ d {2}):( \ d {4}):( \ d {2}):( \ d {2}): (\ d {2})&#34;像

<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

希望它有所帮助!

答案 1 :(得分:0)

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

使用以下正则表达式

  

^([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>

答案 2 :(得分:0)

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

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