使用Regex进行日期验证

时间:2014-03-05 09:47:23

标签: c# regex

如何验证'12 / 3/13 12:00:00 AM'也'12 / 29/13 12:00:00 AM'

我试过

"^(?:0[1-9]|1[12])/(?:[0-2][0-9]|3[01])/[0-9]{4}\s(?:0[0-9]|1[1-2]):(?:[0-5][0-9]):  (?:[0-5][0-9])\s(?:AM|PM)$"

但没有工作

2 个答案:

答案 0 :(得分:5)

为什么不简单地使用DateTime.TryParse并检查转换是否成功。

string date = "12/3/13 12:00:00 AM";
DateTime dt;
if(DateTime.TryParse(date,dt))
    // do something

答案 1 :(得分:2)

如果您希望日期采用该确切格式,则应使用ParseExact这些模式

d/M/yy h:mm:ss tt
M/d/yy h:mm:ss tt