如何将字符串验证为dd-M-y格式的日期,而不是过去的日期?

时间:2012-12-31 12:02:45

标签: asp.net regex

我有一个日期字段,格式为“dd-M-y”,例如2013年1月1日。首先,我想检查必须为“dd-M-y”的格式,其次,日期不应该是过去,但可以是今天和之后。

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

2 个答案:

答案 0 :(得分:2)

您应该使用DateTime.TryParseExact而不是使用Regex来验证您的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
}

答案 1 :(得分:0)

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

本案例中的最佳解决方案是MaskEditExtender