首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C#.net中的正则表达式

C#.net中的正则表达式
EN

Stack Overflow用户
提问于 2010-11-15 16:59:06
回答 4查看 623关注 0票数 4

我需要一个函数来验证输入的日期。输入的日期格式是否正确。我浏览了一下网页,得到了一个正则表达式。它工作正常,除了当你输入12/12/YYYY(在任何年份)时,它会显示错误,说这不是一个有效的日期。

代码语言:javascript
运行
复制
bool IsDate(string date)  
        {
            Match dobMatch = Regex.Match(date, @"^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$");
            if (!dobMatch.Success)
            {return true;}
            else
            {return false;}
        }

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-11-15 17:02:33

Try DateTime.TryParse()**.**

这将为您解析日期。如果要用来分析日期的区域性,此方法允许您传递CultureInfo

或者,如果您真的想使用正则表达式,可以看看 .,它是一个全面的正则表达式库,每个正则表达式都有评级。

票数 6
EN

Stack Overflow用户

发布于 2010-11-15 17:03:13

为什么不使用DateTime.TryParseDateTime.TryParseExact要比使用正则表达式简单得多。

票数 2
EN

Stack Overflow用户

发布于 2010-11-15 17:03:21

使用:

代码语言:javascript
运行
复制
^([0]?[1-9]|[1|2][0-9]|[3][0|1])[./-]([0]?[1-9]|[1][0-2])[./-]([0-9]{4}|[0-9]{2})$

或转到以下链接,http://regexlib.com/DisplayPatterns.aspx?cattabindex=4&categoryId=5

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

https://stackoverflow.com/questions/4182776

复制
相关文章

相似问题

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