【PHP】日付の形式 & 妥当性チェック(SAMPLE)

日付の書式と妥当性をチェックする

PHPで日付書式の形式と、その日付自体が正しいかをチェックする方法をメモ。

環境:PHP 7.4.4

日付書式の形式をチェックする

日付の値が、あらかじめて決めておいた形式の書式であるかを確認する。

(形式) YYYY-MM-DD

年(西暦 )4ケタ
月 2ケタ(もしくは1ケタ)
日 2ケタ(もしくは1ケタ)

それぞれ間に-(ハイフン)を挟む。

htmlフォームの場合inputタグ、type属性にdateを指定した場合にサーバー側で受け取れる値の形式となる

正規表現で形式をチェックする

正規表現を使用してpreg_match関数で形式をチェックする

日付の妥当性をチェックする

13月や、うるう年ではない年の2月29日など、暦上存在しない月日ではないか、日付自体の正しさをチェックする

checkdate関数で妥当性をチェックする

PHPのcheckdate関数を使用する。
https://www.php.net/manual/ja/function.checkdate.php

explode関数を使用して日付を年、月、日に分解し、checkdate関数へ渡す値としている。

「年」 $year
「月」 $month
「日」 $day

SAMPLE

上記の形式チェックと、妥当性チェックをまとめて行うためのサンプル

Follow me!