【发布时间】:2012-11-17 13:42:57
【问题描述】:
我想使用RegularExpressionValidator 表示这种形式的日期 yyyy-mm-dd(例如: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>
错误在哪里?
【问题讨论】:
-
怎么不工作了?是根本没有触发,还是在错误的时间触发?
-
即使表达式已用 og Grand 的答案 stackoverflow.com/a/13626639/736079 固定,但可以通过使用
CompareValidator验证内容的数据类型来找到问题的真正解决方案。见stackoverflow.com/a/939852/736079
标签: c# javascript asp.net regex validation