正则验证日期
/// <summary>
/// check date is validate
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
private bool isValidateDate(string input)
{
string pattern = "^(?:19|20)[0-9]{2}[- /](?:(?:(?:0?[13578]|1[02])[- /](?:0?[1-9]|[12][0-9]|3[01]))|(?:(?:0?[2469]|11)[- /](0?[1-9]|[12][0-9]|30)))$";
if (input.Trim().Length == 0)
{
return true;
}
if (Regex.IsMatch(input, pattern))
{
string[] dates = input.Split(new char[]{'-', '/'});
int year = int.Parse(dates[0]);
int month = int.Parse(dates[1]);
int day = int.Parse(dates[2]);
if (month == 2)
{
if (DateTime.IsLeapYear(year))
{
if (day >= 30)
{
return false;
}
}
else
{
if (day >= 29)
{
return false;
}
}
}
return true;
}
return false;
}

浙公网安备 33010602011771号