【发布时间】:2017-06-22 05:32:54
【问题描述】:
我正在尝试访问给定日期值的格式。我需要检查格式是dd/mm/yy 还是dd/mm/yyyy。我在preg_match() 中使用了以下模式,但它们不起作用。
'^\d{1,2}\/\d{1,2}\/\d{4}^' // dd/mm/yyyy
'^\d{1,2}\/\d{1,2}\/\d{2}^' // dd/mm/yy
谁能帮我找到正确的模式?
【问题讨论】:
-
这是由简单的印刷错误引起的错误,可以通过在 www.regex101.com 上进行测试或对正则表达式语法/阅读 SO 页面进行快速研究来识别。这种模式和公认的答案充其量只能对日期进行松散的验证。换句话说,像
99/99/9999这样的无效日期将毫无问题地匹配。为获得最佳结果,请使用checkdate()或 DateTime 类函数来验证日期。 -
请注意最好的answers on this page 是如何不使用正则表达式的,而那些只会随着模式呈指数增长而提高质量的方法。使用正则表达式并不是检查日期的最佳工具。
标签: php regex validation date date-formatting