我想使用yyyy-mm-dd形式的日期使用RegularExpressionValidator(例如:2012-11-29),这是我的表达式:


  / ^(19 [789] \ d | 20 [0123] \ d)-(0 \ d | 1 [012] | \ d)-(31 | 30 | [012] \ d | \ d)$ /


我在http://www.quanetic.com/Regex上对其进行了测试,并且可以正常工作,但是如果我在asp.net应用程序中执行此操作,它将无法正常工作

 <tr>
   <td>Gültig ab:</td>
   <td><asp:TextBox ID="txtVon" runat="server" ></asp:TextBox></td>
   <td><asp:ImageButton ID="imgVon" runat="server" ImageUrl="images/Calender.ico" Width="15" Height="15" />
     <asp:CalendarExtender runat="server" ID="E_Von" TargetControlID="txtVon" Format="yyyy-MM-dd" PopupButtonID="imgVon"/></td>
   <td>
     <asp:RequiredFieldValidator ID="ValVon"
       runat="server" ForeColor="red"
       ErrorMessage="*" ControlToValidate="txtVon"></asp:RequiredFieldValidator>
     <asp:RegularExpressionValidator ID="regVon"
       runat="server" ControlToValidate="txtVon"
       ErrorMessage="*Format" ForeColor="red"
       ValidationExpression="/^(19[789]\d|20[0123]\d)\-(0\d|1[012]|\d)\-(31|30|[012]\d|\d)$/"></asp:RegularExpressionValidator>
   </td>
 </tr>


错误在哪里?

最佳答案

只需在字符串的开头和中删除char“ /”。
你将有

ValidationExpression="^(19[789]\d|20[0123]\d)-(0\d|1[012]|\d)-(31|30|[012]\d|\d)$"

07-25 21:48
查看更多