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

How to differentiate date formats as dd/mm/yy or dd/mm/yyyy?

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

谁能帮我找到正确的模式?

问题:

1. This $ should be in end instead of ^. $ is for end of string.

2. Don't forget delimiters /.

正则表达式:

/^\d{1,2}\/\d{1,2}\/\d{4}$/ for strings like 10/10/1111

/^\d{1,2}\/\d{1,2}\/\d{2}$/ for strings like 10/10/11

Try this code snippet here

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

表示

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

$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