[PHP] 正規表現を使ったValidate関数

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

これから、またPHPを使ってプログラムを書くつもりなんで、そのためのライブラリというか、
いろいろ使う予定の関数群をここに書いていこうかと思ってます。

んで今回は、いろいろな場面で使うことになるだろうValidate用の関数を書いておきます。

日付チェック

これは、日付が y/m/dまたはy/n/jのような形式(2009/01/01や2009/1/1)で渡されたことを想定し、
その形式に沿っているかとともに、その日付の妥当性をチェックする関数。

メールアドレスチェック

受け取った文字列がメールアドレスとして妥当かどうかをチェックする。完全なものではないが、
実用的にはおそらく十分と思われる。

URLチェック

受け取ったアドレスがURLとして妥当であるかどうかをチェック。

今の時点では、形式が正しいかのチェックしかしていないが、将来的には
そのURLにアクセスできるかどうか?(HTTPステータスを参照?)で判断できたらなぁ。

長さチェック

受け取った文字が、指定した文字長の範囲に収まっているかをチェックする関数。

こんなのは関数にしなくてもいいかな・・・

携帯電話番号チェック

070, 080, 090で始まる11桁の電話番号であるかをチェックする。デリミタとして【-】が入っている
かどうかは関係なく動く(はず)

IPアドレスのチェック

受け取った文字列がIPアドレスであるかどうかのチェック。個人的にはあんまり使うことはないかも

ということで、これらのソースコードは続きにて。


ソースコード(validate.php)

  1. <?php
  2. function is_date( $date ) {
  3.     $str = split( ”/”, $date );
  4.     if( checkdate( $str[1], $str[0], $str[2] ) ) {
  5.         return true;
  6.     }
  7.     return false;
  8. }
  9. function is_mail( $mail ) {
  10.     if (preg_match(“/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/”, $mail)) {
  11.         return true;
  12.     }
  13.     return false;
  14. }
  15. function is_url( $value ) {
  16.   if( preg_match( ”[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]”, $value ) ) {
  17.       return true;
  18.   }
  19.   return false;
  20. }
  21. function length( $max, $min, $value ) {
  22.     $len = strlen( $value );
  23.     if( $max < $len || $min > $len ) {
  24.         return true;
  25.     }
  26.     return false;
  27. }
  28. function is_MobileTel( $var ) {
  29.     if ( preg_match(‘/0(7|8|9)0-?\d{4}-?\d{4}/’, $var) ) {
  30.         return true;
  31.     } else {
  32.         return false;
  33.     }
  34. }
  35. function is_IPAddress( $var ) {
  36.     if (preg_match(‘/^(([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]).){3}([1-9]?[0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/’,$var)) {
  37.         return true;
  38.     } else {
  39.         return false;
  40.     }
  41. }
  42. ?>

関連サイト

関連記事

人気ブログランキングへ

[PR]

トラックバック

http://yamablo.com/2009/05/20-195349.php/trackback

コメント


Get Adobe Flash playerPlugin by wpburn.com wordpress themes