c# - C#.net 中的正则表达式

标签 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[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/

相关文章:

c# - 没有 SafeHandle 的 DllImport 会导致 MissingMethodException

c# - C# 中的字典枚举

c# - 如何释放 BitMap 类持有的文件

python - 如何在 python 中使用正则表达式获取前导零的所有索引

java - 如何使用java正则表达式匹配一行

javascript regex - 查找由定界符括起来的子字符串

c# - SQL 服务器 2008 : update query

java - 如何捕获带有条件的重复模式?

python - 在 python re.findall 中使用多个标志

c# - 我如何解决 "Please make sure that the file is accessible and that it is a valid assembly or COM component"?