PHP Regex to check date is in YYYY-MM-DD format

前端 未结 23 1489
终归单人心
终归单人心 2020-11-27 10:05

I\'m trying to check that dates entered by end users are in the YYYY-MM-DD. Regex has never been my strong point, I keep getting a false return value for the preg_match() I

23条回答
  •  遥遥无期
    2020-11-27 10:22

    You can make it this way:

    if (preg_match("/\d{4}\-\d{2}-\d{2}/", $date)) {
        echo 'true';
    } else {
        echo 'false';
    }
    

    but you'd better use this one:

    $date = DateTime::createFromFormat('Y-m-d', $date);
    if ($date) {
        echo $date -> format('Y-m-d');
    }
    

    in this case you'll get an object which is muck easier to use than just strings.

提交回复
热议问题