1

RegularExpressionValidatorこの形式 yyyy-mm-dd (例: 2012-11-29) の日付にa を使用したいのですが、ここに私の表現があります:

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

エラーはどこにありますか?

4

2 に答える 2

5

文字列の先頭と and にある char "/" を削除するだけです。

そして、あなたは持っているでしょう

ValidationExpression="^(19[789]\d|20[0123]\d)-(0\d|1[012]|\d)-(31|30|[012]\d|\d)$"
于 2012-11-29T13:13:30.953 に答える
1

以下を使用しますが、問題なく動作します。

\A(?:^(19|20)\d\d([- /.])(0[1-9]|1[012])\2(0[1-9]|[12][0-9]|3[01])$)\Z
于 2012-11-29T13:14:42.207 に答える