php spot
phpが使えるレンタルサーバー特集
検索グラス
トップページへ

正規表現:西暦が正しいか調べる 年・月・日
<?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&正規表現
管理人の新着ブログ記事

    プライバシーポリシー | お問い合わせ
copyright © 2003-2017 phpspot all rights reserved. powered by phpspot CMS.