日期:2014-05-18  浏览次数:20546 次

我想判断Textbox中输入的是否是日期,但是我用下面的代码,输入2010-01-01时,它还是报出我输入的时间格式错误
if (ValidateDataTime(this.TextBox3.Text) == false || ValidateDataTime(this.TextBox19.Text) == false) //调用ValidateDataTime方法,并传递参数来实现dindatatb文本框中的日期格式判断
  {
  Response.Write("<script>alert('输入时间格式不正确!');</script>");

  }


  #region 日期验证(YYYY-MM-DD)
  /// <summary>
  /// 日期验证(YYYY-MM-DD)
  /// </summary>
  /// <param name="InputStr">要验证的字符</param>
  /// <returns></returns>
  public static bool ValidateDataTime(string InputStr)
  {
  if (InputStr != "")
  {
  if (Regex.IsMatch(InputStr.Trim(' '), @"^((((1[6-9]|[2-9]/d)/d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]/d|3[01]))|(((1[6-9]|[2-9]/d)/d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]/d|30))|(((1[6-9]|[2-9]/d)/d{2})-0?2-(0?[1-9]|1/d|2[0-8]))|(((1[6-9]|[2-9]/d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$"))
  {

  return true;
  }
  else
  {
  return false;
  }
  }
  else
  {
  return true;
  }
  }
  #endregion

------解决方案--------------------
C# code
用下面代码判断:
public bool ValidateDataTime(string srcStr)
{
    DateTime value;
    if(DateTime.TryParse(srcStr,out value))
        return true;
    return false;
}

------解决方案--------------------
楼上哥们那个是可以的,顶
------解决方案--------------------
public bool ValidateDataTime(string srcStr)
{
DateTime value;
if(DateTime.TryParse(srcStr,out value))
{
return true;
}
return false;
}