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

PHPで日付の形式と妥当性を同時にチェックする関数のサンプル
環境:PHP 7.4.4

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

形式は、YYYY-MM-DDとする。

4ケタの西暦、2ケタ(もしくは1)の月、2ケタ(もしくは1)の日
それぞれ間に-(ハイフン)を挟む。

妥当性は、入力された日付が存在し得るかの検証。

(13月や、2月29日など、暦上存在しない月と日ではないか)

以下サンプルの関数の引数 $valueにフォームから入力した日付の値などを渡して検証する。

以降、形式と妥当性の検証方法をそれぞれ解説。

形式(YYYY-MM-DD)を検証

YYYY-MM-DD形式をPHPのpreg_match関数を使用して正規表現でチェックする。

妥当性を検証

検証する値を配列の要素として分ける。

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

PHPのcheckdate関数の引数へ年月日要素を渡して妥当性を検証する。
(引数の順番に注意)

Follow me!