我需要一个函数来验证输入的日期。输入的日期格式是否正确。 我浏览了网页并得到了一个正则表达式。 它工作正常,除非当您输入 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;}
}
我
最佳答案
试试 DateTime.TryParse()
。
这会为您解析日期。此方法允许您传递 CultureInfo
(如果要用于解析日期的文化)。
或者,如果您真的想使用正则表达式,请查看 http://regexlib.com/ . 这是一个综合的正则表达式库,每个正则表达式都有评级。
关于c# - C#.net 中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4182776/