1

我有一个日期字段,格式为“dd-My”,例如 01-Jan-2013。首先,我想检查必须是“dd-My”的格式,其次日期不应该是过去,但可以是今天及以后。

我该怎么做?我想使用正则表达式,但我不知道什么是合适的。

4

2 回答 2

2

您应该使用DateTime.TryParseExact而不是使用正则表达式来验证您的 DateTime

string testDate = "01-Jan-2013";
DateTime temp;
if (DateTime.TryParseExact(testDate, 
                           "dd-MMM-yyyy", 
                           CultureInfo.InvariantCulture, 
                           DateTimeStyles.None, 
                           out temp) &&
    (temp > DateTime.Today))
{
    //Valid date and greater than today
}
else
{
    //Invalid date or less than today
}
于 2012-12-31T12:12:33.230 回答
0

我认为您应该绑定用户以正确格式填写日期,而不是检查它...

在这种情况下,最好的解决方案是MaskEditExtender

于 2012-12-31T16:58:42.050 回答