日期的正则表达式格式为dd.MM.yyyy?

时间:2010-07-01 08:29:29

标签: c# .net regex

尝试以此格式regex创建日期dd.MM.yyyy

我想将它与DataAnnotation一起使用,就像这样

[RegularExpression(@"<theregex>")]
public DateTime Date { get; set; }

5 个答案:

答案 0 :(得分:7)

我建议正则表达式不是最好的方法。你没有给出上下文,所以很难猜出你在做什么......但是你可能想要创建一个DateExpression属性,然后做:

return DateTime.ParseExact(value, "dd.MM.yyyy");

在您的转换器定义的任何地方。

答案 1 :(得分:4)

^(0[1-9]|[12][0-9]|3[01])[.](0[1-9]|1[012])[.](19|20)[0-9]{2}$

此正则表达式与01.01.190001.01.2000匹配,但与1.1.20001/1/00不匹配。

答案 2 :(得分:1)

[0-3]{0,1}[0-9]\.[0-1]{0,1}[0-9]\.[0-9]{4,2}

匹配: 28.2.961.11.200812.10.2005

答案 3 :(得分:1)

因为我总觉得这个网站很有用,所以这里是online regex checker。在右侧,它也有例子和社区贡献。有许多日期匹配的正则表达式变体。

如果您不确定哪种日期最适合您,您可以输入您想要匹配的日期,并尝试一些不同的示例。与任何事情一样,有多种方法可以解决问题,但它可能会帮助您选择最适合的问题。

答案 4 :(得分:0)

^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$ 

这个也接受 - 和/作为分隔符。如果需要,可以删除它们。