[PHP] 正規表現を使ったValidate関数
これから、また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)
- <?php
- function is_date( $date ) {
- $str = split( ”/”, $date );
- if( checkdate( $str[1], $str[0], $str[2] ) ) {
- return true;
- }
- return false;
- }
- function is_mail( $mail ) {
- if (preg_match(“/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/”, $mail)) {
- return true;
- }
- return false;
- }
- function is_url( $value ) {
- if( preg_match( ”[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]”, $value ) ) {
- return true;
- }
- return false;
- }
- function length( $max, $min, $value ) {
- $len = strlen( $value );
- if( $max < $len || $min > $len ) {
- return true;
- }
- return false;
- }
- function is_MobileTel( $var ) {
- if ( preg_match(‘/0(7|8|9)0-?\d{4}-?\d{4}/’, $var) ) {
- return true;
- } else {
- return false;
- }
- }
- function is_IPAddress( $var ) {
- 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)) {
- return true;
- } else {
- return false;
- }
- }
- ?>
関連サイト
- 本借りてます – Logic Edge
- PHPで外部HTMLから指定した文字列(タグ)だけを取り出してみる。 – s2works
- 自堕落な技術者の日記 : 今までどのくらいプログラミング言語を触ってきたかのブログを見て – livedoor Blog(ブログ)
- PHP 文字列を分割する | JUGEMの自作テンプレートを配布 Show-U
- 自分用メモ – PHP – | 日進月歩
- あり ? Blog Archive ? Sitemap作成(2)
- uprush ? Vimでシステム開発 ― Lookupfile Plugin
関連記事
- [PHP] Queueクラス
- [PHP] MySQLクラス
- [Ajax勉強中] パスワード確認欄のチェック機能
- [Android] アプリ開発・スターをつけたり消したり
- Android アプリ開発時の汎用関数の紹介
[PR]
トラックバック
http://yamablo.com/2009/05/20-195349.php/trackback

