超强的正则表达式验证日期和时间

正则表达式在验证中起到举足轻重的作用,以下是我作为验证时间正则函数:

public bool myTime(string str)
                
{
                       
bool flag=false;
                        
string regex = @"^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13578]
                                        )|(1[02]))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[4
                                        69])|(11))[\-\/\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\
                                        s]?((0?[1-9])|([1-2][0-9])))))|(\d{2}(([02468][1235679])|([1
                                        3579][01345789]))[\-\/\s]?((((0?[13578])|(1[02]))[\-\/\s]?((
                                        0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\-\/\s]?((
                                        0?[1-9])|([1-2][0-9])|(30)))|(0?2[\-\/\s]?((0?[1-9])|(1[0-9]
                                        )|(2[0-8]))))))
"//日期部分
                                        regex += @"(\s(((0?[0-9])|([1-2][0-3]))\:([0-5]?[0-9])((\s)|(\:([0-5]?[0-9])))))?$"//时间部分
                        RegexOptions options = ((RegexOptions.IgnorePatternWhitespace | RegexOptions.Multiline) | RegexOptions.IgnoreCase);
                        Regex reg 
= new Regex(regex, options);
                        
if(reg.IsMatch(str))
                        
{
                                flag
=true;
                        }

                        
return flag;
                }


其中的正则可以准确的验证你输入的时间是不是正确,并能验证闰年

posted @ 2006-11-28 12:27  幸运草  阅读(5477)  评论(3编辑  收藏  举报