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

 

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

/// <summary>

        /// 是否为日期型字符串

        /// </summary>

        /// <param >日期字符串(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 >时间字符串(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 ></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)$ ");

       }

原文链接:http://xiechuanhua.blog.163.com/blog/static/957338552009102613338244/

 

你可能感兴趣的:(C#正则表达式判断输入日期格式是否正确)