用于验证日期的正确正则表达式是什么。 2009/10/22或2009/01/01等平台PHP
答案 0 :(得分:0)
试试这个:
if (preg_match('#^\d{4}/\d{2}/\d{2}$#', $date)) {
...
}
这只会与日期匹配,但您必须验证日期是否有效,例如没有2月31日这样的事情。
答案 1 :(得分:0)
<?php
$date = '2009/10/22';
if ( preg_match('/^(?:(19[0-9]{2}|20[0-9]{2}))\/(0[1-9]|1[012])\/(0[1-9]|[12][0-9]|3[01])$/', $date ) ) {
echo $date , ' is a valid date format.';
} else {
echo $date , ' is not a valid date format!';
}
?>
此外,请确保您使用 checkdate()功能。
答案 2 :(得分:0)
您可以这样做 - 首先验证格式,然后使用checkdate()
验证值:
$value = '2009/10/22';
echo valid_date($value) ? "Yep, $value is a valid date" : "Nah, it's not valid";
function valid_date($value)
{
return preg_match('/^(?:(\d{4,})\/(\d{2})\/(\d{2}))$/', $value, $matches) === 1 && checkdate((int)$matches[2], (int)$matches[3], (int)$matches[1]);
}
普通preg_match()
不会削减它。