我正在尝试访问给定日期值的格式。我需要检查格式是在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
有人可以帮我找到正确的模式吗?
答案 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}}
等字符串
答案 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()函数才能真正验证它。