忍者ブログ
バナヤンの忍者風呂
忍者ブログのカスタマイズ、各種WEBツールのテストなど試行錯誤の日々。 VMLによる地図の作成を研究していましたが、一時中断して、今はPHPを勉強しているところです。
ニュース
この欄には、このブログの内容に関連するニュースを掲載する予定です。
お知らせ
この欄には管理人からのお知らせなどを掲載します。
[44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54]

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

PHP 入力値のチェック(メールアドレス)

PHPで会員登録システムを作りたい。そのために必要な知識をひとつひとつ確認していこうと思っています。今回のテーマは、「入力値のチェック(メールアドレス)」です。

前回の「PHP 入力値のチェック(正規表現、ereg) 」ではユーザーidを3文字以上16文字以内の英数字に限定するために、正規表現のereg関数を利用しました。

今回は、入力された「メールアドレス」の値が「メールアドレス」の形式として適切かというチェックをしたいと思います。

それには、「メールアドレス」のお約束を知らなくてはなりません。
まずは、メールアドレスは「ローカル名@ドメイン」という形式だということです。

次に、RTFでは、メールアドレスに使える文字などを規定しています。
「英数字と!#$%&'*+-/=?^_`{|}~. 」
[a-zA-Z0-9_-]以外のものもありますね。

これから会員登録をしてくれるお客様に対して「あなたのメールアドレス、変ですね。登録できませんよ。」というのは、失礼な話なので、漏れがないようにしないといけません
(上記以外の文字についても、メールサーバーの設定によってはローカル名部分は使用可能な気もしますが、それはお約束違反ということで拒否しても責められることはないでしょう。)

なお、ホスト名の中にドット「.」があるかというチェックはしないことにしました。もしかすると、世界にはトップレベルドメインを持っている王様がいるかもしれませんから。

以上のように考えて、メールアドレスの形式チェックは、次のようにしました。なお、そのメールアドレスが有効かどうかは、「確認メール」を
送って確かめます。

[ソース]メールアドレスの形式チェック部分のみ

<php
if(!(ereg("(^[a-zA-Z0-9!#$%&'*+/=?^_`{|}~.-]+)@([a-zA-Z0-9_.-]+)", $mail))) {
$msg .= "メールアドレスの記述が不適切です。";
}
?>

PR
QRコード
忍者ブログ [PR]
Copyright (C) 2006 banayan ALL RIGHTS RESERVED.