一尘不染

PHP正则表达式以YYYY-MM-DD格式检查日期

php

我正在尝试检查最终用户输入的日期是否在YYYY-MM-DD中。正则表达式从来都不是我的强项,对于设置的preg_match(),我总是收到错误的返回值。

所以我假设我把正则表达式弄得一团糟,下面详述。

$date="2012-09-12";

if (preg_match("^[0-9]{4}-[0-1][0-9]-[0-3][0-9]$",$date))
    {
        return true;
    }else{
        return false;
    }

有什么想法吗?


阅读 335

收藏
2020-05-29

共1个答案

一尘不染

尝试这个。

$date="2012-09-12";

if (preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/",$date)) {
    return true;
} else {
    return false;
}
2020-05-29