Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#.net中的正则表达式_C#_Regex - Fatal编程技术网

C#.net中的正则表达式

C#.net中的正则表达式,c#,regex,C#,Regex,我需要一个函数来验证输入的日期。输入的日期格式是否正确。 我浏览了网页,得到了一个正则表达式。 它工作正常,除非您输入12/12/YYYY(在任何年份),否则它会显示错误,表示它不是有效日期 bool IsDate(string date) { Match dobMatch = Regex.Match(date, @"^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0

我需要一个函数来验证输入的日期。输入的日期格式是否正确。 我浏览了网页,得到了一个正则表达式。 它工作正常,除非您输入12/12/YYYY(在任何年份),否则它会显示错误,表示它不是有效日期

bool IsDate(string date)  
        {
            Match dobMatch = Regex.Match(date, @"^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$");
            if (!dobMatch.Success)
            {return true;}
            else
            {return false;}
        }

i

尝试
DateTime.TryParse()

这将为您解析日期。此方法允许您传递
CultureInfo
,如果要使用该区域性分析日期

或者,如果您真的想使用正则表达式,请看一看。这是一个全面的正则表达式库,每个正则表达式都有评级。

为什么不使用正则表达式,或者比使用正则表达式简单得多。

使用 ^([0]?[1-9]|[1 | 2][0-9]|[3][0 | 1])/-$


或者转到下面的链接,

正则表达式只验证字符串中的字符数据,不说明该字符串中数据的实际有效性

要将字符串检查为.Net中的有效日期,请使用以下命令:

DateTime dt;
if (DateTime.TryParse(someString, out dt))
{
   //Parsed as a valid date whose value is now in the variable dt
}
else 
{
   //Not a valid date
}

上述功能是否验证日期是否存在于2月30日或2011年2月30日?是。它只能生成(参数
out
)一个有效日期,包括闰年。所述函数是否验证日期是否存在于2月30日(如2011年2月30日)ID所述函数是否验证日期是否存在于2月30日(如2011年2月30日)是,如果日期无效,则
TryParse
将返回false