【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!