如何区分日期格式为dd / mm / yy或dd / mm / yyyy?

时间:2017-06-22 05:32:54

标签: php regex validation date date-formatting

我正在尝试访问给定日期值的格式。我需要检查格式是在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

有人可以帮我找到正确的模式吗?

2 个答案:

答案 0 :(得分:1)

<强>问题:

  

1。^应该在$而不是//^\d{1,2}\/\d{1,2}\/\d{4}$/用于字符串结尾。

     

2。不要忘记分隔符10/10/1111

正则表达式:

  

/^\d{1,2}\/\d{1,2}\/\d{2}$/用于10/10/11

等字符串      

{{1}}用于{{1}}

等字符串

graph

答案 1 :(得分:0)

正则表达式的语法有错误。在正则表达式中,模式的开头用^表示,而结尾用$表示。

您可以使用以下内容验证给定的日期格式。

$date_to_check = "22/06/2017";
$true = preg_match("/([0-9]{2})\/([0-9]{2})\/([0-9]{4})/", $date_to_check);
var_dump($true);

但是,您不应该仅针对正则表达式验证日期。您需要将年,月,日期传递给php的checkdate()函数才能真正验证它。

PHP checkdate() doc