当前位置:网站首页>如何在 PHP 中进行日期格式验证检查(正则)

如何在 PHP 中进行日期格式验证检查(正则)

2022-06-23 06:13:00 stwood007

日期检查是任何系统的必备功能。我想介绍一下如何立即用 PHP 检查日期。

日期格式检查

用PHP查看日期的方法主要分为两步。
首先,检查日期格式。日期格式检查是“YYYY-MM-DD”或“YYYY/MM/DD”等格式检查。
有很多方法可以做到这一点,但我认为最好使用正则表达式进行检查。

if(!preg_match('/^[1-9]{1}[0-9]{0,3}\/[0-9]{1,2}\/[0-9]{1,2}$/', $date))

{
        return false;
}

上面的示例允许“YYYY/MM/DD”格式的“1/0/0”到“9999/99/99”的值。
你很快就会注意到这里的 0/0 和 99/99 并不存在。为了保存它,需要下一步,即日期的存在性检查。

日期存在检查

日期的存在检查是使用 PHP 函数完成的:“checkdate”。

list($y, $m, $d) = explode('/', $date);

if(!checkdate($m, $d, $y))

{

        return false;

}

请注意,“checkdate”函数具有西方日期表示法格式,因此它的格式为“月、日、年”,而不是日本的“年、月、日”。

使用 PHP 进行日期检查 (YYYY / mm / dd)

在实际项目中,年份固定为4位数、月份、日期的情况很多,比如“2013/01/02”,这里就一并提供。具体还是要根据需求来修改。

function isYmd($date){

    //如果没有输入,则通过
    if ($date == '') {
        return true;
    }
     //19xx和20xx有效,这里只控制月份和日期的位数,

     //通过下面的checkdate函数进行存在性检查。
    if(!preg_match('/^(19|20)[0-9]{2}\/\d{2}\/\d{2}$/', $date))

   {
        return false;
    }
 
    list($y, $m, $d) = explode('/', $date);
 
    if(!checkdate($m, $d, $y)){
        return false;
    }
    return true;
}

原网站

版权声明
本文为[stwood007]所创,转载请带上原文链接,感谢
https://blog.csdn.net/stwood007/article/details/125185776