首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.Net中正则表达式验证器的mm/dd/yyyy验证失败

ASP.Net中正则表达式验证器的mm/dd/yyyy验证失败
EN

Stack Overflow用户
提问于 2012-09-03 20:38:39
回答 3查看 26.2K关注 0票数 0

我知道这样的问题比比皆是,这感觉像是一个被愚弄的问题。由于我还没有找到适合我的解决方案,这就是我发布这篇文章的原因。在我的常规exp验证器中有一个正则表达式

代码语言:javascript
复制
<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,作者说它对两种格式都有效。是^和$产生的问题。请帮帮忙。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-04 23:48:27

除非您有充分的理由进行其他操作,否则应该使用CompareValidator

代码语言:javascript
复制
<asp:CompareValidator Operator="DataTypeCheck" Type="Date" ... 
票数 11
EN

Stack Overflow用户

发布于 2012-09-03 20:55:46

这是有效的

代码语言:javascript
复制
^(0?[1-9]|[12][0-9]|3[01])[\/](0?[1-9]|1[012])[\/]\d{4}$
票数 1
EN

Stack Overflow用户

发布于 2016-01-18 23:25:41

代码语言:javascript
复制
 <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/yyyymm/dd/yyyy

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12248063

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档