【发布时间】:2016-03-27 02:27:46
【问题描述】:
我正在尝试验证日期的格式,并在 C# 中验证等于或小于今天的日期我正在尝试使用正则表达式在 c# 中实现这一点。
我尝试支持的格式是 dd/mm/yyyy、dd-mm-yyyy、yyyy-mm-dd、yyyy/mm/dd。
var expressions = new List<Regex>();
expressions.Add(new Regex("^\\d{4}-((0\\d)|(1[012]))-(([012]\\d)|3[01])$"));
expressions.Add(new Regex("(((0|1)[1-9]|2[1-9]|3[0-1])\\/(0[1-9]|1[0-2])\\/((19|20)\\d\\d))$"));
return expressions;
有人能告诉我我在我的 reg ex 中做错了什么,并提出一个更好的方法来实现这一点。
【问题讨论】:
-
更好的方法:DateTime.TryParse 或 .TryParseExact。
-
请注意,
mm说明符是几分钟,MM说明符是几个月。格式说明符区分大小写。
标签: c# regex validation date datetime