我知道这样的问题比比皆是,这感觉像是一个被愚弄的问题。由于我还没有找到适合我的解决方案,这就是我发布这篇文章的原因。在我的常规exp验证器中有一个正则表达式
<asp:RegularExpressionValidator ID="RegularExpressionValidator3" runat="server" ErrorMessage="Invalid date format. Valid dates are 12/31/2009 (mm/dd/yyyy). " ControlToValidate="txtDOB" Display="None" EnableTheming="False" EnableViewState="False" SetFocusOnError="True" ValidationGroup="grpUser"
ValidationExpression="^(?=\d)(?:(?:31(?!.(?:0?[2469]|11))|(?:30|29)(?!.0?2)|29(?=.0?2.(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00)))(?:\x20|$))|(?:2[0-8]|1\d|0?[1-9]))([-./])(?:1[012]|0?[1-9])\1(?:1[6-9]|[2-9]\d)?\d\d(?:(?=\x20\d)\x20|$))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\x20[AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$"></asp:RegularExpressionValidator>无法验证mm/dd/yyyy或m/d/yyyy格式的日期。我取自RegexLib,作者说它对两种格式都有效。是^和$产生的问题。请帮帮忙。
发布于 2012-09-04 23:48:27
除非您有充分的理由进行其他操作,否则应该使用CompareValidator
<asp:CompareValidator Operator="DataTypeCheck" Type="Date" ... 发布于 2012-09-03 20:55:46
这是有效的
^(0?[1-9]|[12][0-9]|3[01])[\/](0?[1-9]|1[012])[\/]\d{4}$发布于 2016-01-18 23:25:41
<asp:RegularExpressionValidator
ValidationExpression="^([0-9]|0[1-9]|1[012])\/([0-9]|0[1-9]|[12][0-9]|3[01])\/(19|20)\d\d$"
ControlToValidate="txtDOB" ErrorMessage="Invalid Format. Use MM/DD/YYYY" runat="server"
ValidationGroup="Password" CssClass="colorred">
</asp:RegularExpressionValidator>这适用于具有有效日期的m/d/yyyy和mm/dd/yyyy
https://stackoverflow.com/questions/12248063
复制相似问题