<?php
// YYYY-MM-DD の場合
$text = "2005/06/07";
if (preg_match("|^\d{4}\/\d{2}\/\d{2}$|", $text)) {
echo "正しい日付です";
} else {
echo "正しくない日付です";
}
// ↑[正しい日付です]が出力されます。単純に長さのみのチェック
// YYYY(年) の場合
$text = "2005";
if (preg_match("|^\d{4}$|", $text)) {
echo "正しい西暦です";
} else {
echo "正しくない西暦です";
}
// ↑[正しい西暦です]が出力されます。単純に長さのみのチェック
// MM(月) の場合
$text = "12";
if (preg_match("|^\d{2}$|", $text)) {
echo "正しい月です";
} else {
echo "正しくない月です";
}
// ↑[正しい月です]が出力されます。単純に長さのみのチェック
// DD(日) の場合
$text = "31";
if (preg_match("|^\d{2}$|", $text)) {
echo "正しい日付です";
} else {
echo "正しくない日付です";
}
// ↑[正しい日付です]が出力されます。単純に長さのみのチェック
?>
PHP では、
int checkdate ( int month, int day, int year)
という関数があり、長さだけでなく、本当に日付が正しいかどうかはこの関数で調べることが出来ます。
スポンサードリンク
PHP&正規表現