首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#正则表达式来验证日期?

C#正则表达式来验证日期?
EN

Stack Overflow用户
提问于 2009-08-31 20:11:43
回答 10查看 84.8K关注 0票数 15

我正在尝试验证在文本框中输入的日期。文本框上有一个强制输入xx/xx/xxxx的输入掩码。我正在尝试使用正则表达式验证器来强制输入正确的日期。我根本不精通RegEx。我的同事在网上发现了这个,但我真的不知道它在做什么。

这样看起来对吗?看起来过于复杂..。

代码语言:javascript
复制
(^((((0[1-9])|([1-2][0-9])|(3[0-1]))|([1-9]))\x2F(((0[1-9])|(1[0-2]))|([1-9]))\x2F(([0-9]{2})|(((19)|([2]([0]{1})))([0-9]{2}))))$)

有没有人知道一个不太复杂的表达式,它基本上可以满足我的需求?

EN

回答 10

Stack Overflow用户

发布于 2009-08-31 20:14:19

为什么不使用System.DateTime namespace中提供的一种方法呢?您可以使用DateTime.TryParse() (edit: DateTime.TryParseExact()可能是正确的建议)来完成验证。

票数 35
EN

Stack Overflow用户

发布于 2009-08-31 20:17:23

您可以使用DateTime.TryParseExact

代码语言:javascript
复制
DateTime dt;

bool isValid = DateTime.TryParseExact(
    "08/30/2009",
    "MM/dd/yyyy",
    CultureInfo.InvariantCulture,
    DateTimeStyles.None,
    out dt);
票数 24
EN

Stack Overflow用户

发布于 2012-12-13 14:09:39

这将是用于日期格式dd/mm/yyyy的正确正则表达式

代码语言:javascript
复制
^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1359188

复制
相关文章

相似问题

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