请帮我找到dateformat mm/dd/yyy
和m/d/yyyy
的最佳正则表达式。
我尝试了不同的链接,但每个人都有一些问题。所以请帮我解决这个问题。
What is the MM/DD/YYYY regular expression and how do I use it in php?
http://regexlib.com/DisplayPatterns.aspx?cattabindex=4&categoryId=5
http://www.regular-expressions.info/regexbuddy/datemmddyyyy.html
答案 0 :(得分:3)
使用其中一个DateTime.TryParse
重载(或DateTime.TryParseExact
,如果您想要更多控制权)来验证字符串是否是DateTime
的有效表示。
DateTime dt;
if(DateTime.TryParse(someInputString, out dt)
{
// it is valid and dt can be used
}
这是一种比正则表达式更好的方法 - 它更快,经过良好测试,并且会生成有效的DateTime
对象。
答案 1 :(得分:1)
如果你需要一个正则表达式,那么这样的东西就可以了(大多数情况下,因为它允许2月31日)。
(0?\d|1[012])\/([012]?\d|3[01])\/\d{4}
通常使用DateTime解析来验证日期格式要好得多。像DateTime.TryParseExact
方法一样。您可以在浏览器中使用正则表达式(在JavaScript中),但您应该在服务器端使用DateTime解析。