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