半角数字・0埋め・YYYY年MM月DD日形式・実在日付チェック
$date = "2025年10月08日";
// 正規表現で形式チェック(YYYY年MM月DD日)
if (preg_match('/^(\d{4})年(0[1-9]|1[0-2])月(0[1-9]|[12]\d|3[01])日$/', $date, $matches)) {
$year = (int)$matches[1];
$month = (int)$matches[2];
$day = (int)$matches[3];
// 実在日付かチェック
if (checkdate($month, $day, $year)) {
echo "有効な日付です: {$year}-{$month}-{$day}";
} else {
echo "存在しない日付です";
}
} else {
echo "形式が不正です(YYYY年MM月DD日形式のみ)";
}