C#正则表达式判断输入日期格式是否正确

来源:互联网 发布:淘宝打包配货员累吗 编辑:程序博客网 时间:2024/04/29 22:46


/// <summary>         /// 是否为日期型字符串         /// </summary>         /// <param name="StrSource">日期字符串(2008-05-08)</param>         /// <returns></returns>         public static bool IsDate(string StrSource)       {           return Regex.IsMatch(StrSource, @"^((((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-9]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$");       }       /// <summary>         /// 是否为时间型字符串         /// </summary>         /// <param name="source">时间字符串(15:00:00)</param>         /// <returns></returns>         public static bool IsTime(string StrSource)       {           return Regex.IsMatch(StrSource, @"^((20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d)$");       }       /// <summary>         /// 是否为日期+时间型字符串         /// </summary>         /// <param name="source"></param>         /// <returns></returns>         public static bool IsDateTime(string StrSource)       {           return Regex.IsMatch(StrSource, @"^(((((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-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d)$ ");       }       //是否是整数       public static bool IsInt(string StrSource)       {           return Regex.IsMatch(StrSource, @"^[0-9]*$");       }