どもです。
PHPでフォームメールを作ることになりましたが、メールアドレスの入力欄がありました。
メールアドレスの入力欄があるなら、
メールアドレスとして適正な内容が書かれているか照合しなければなりません。
ので、Google先生に頼ってみたところ、最終的にこちらの記事に行き着きました。
404 Blog Not Found【「PHP使いはもう正規表現をblogに書くな」と言わせないでくれ】
なんだか過激なタイトルです。
要約してみると、こんな感じの内容でした。
- PHPでメールアドレスの正規表現を紹介しているサイトは、あまりに間違いが多い。
- Googleなどの検索エンジンは閲覧数が多いものが上がりやすいシステムになっているので、正確な情報が上がるとは限らない。PHPの正規表現について、間違ったものばかりが上がってしまっている。
- この現状はまことに許しがたいので、にわかがブログに正規表現に関する情報を上げるのはやめてくれ。
と、まあこんな感じ。
さて、僕は正規表現については「にわか」以下であり、そもそも現状本業はフロントエンジニアなわけですが、
以下なりに考えさせられるものがあったわけです。
そちらで書かれているものが、ある種正論であることを前提として、
そもそも、どうしてメールアドレスを正規表現でチェックする必要があるのか?
という疑問が生まれたゆえです。
なぜ、メールアドレスのチェックが必要なのか?
フォームメールなどの簡単なシステムに限った話かもしれませんが、
そもそも、メールアドレスのチェックが必要な明確な理由なんて無いのではないでしょうか。
メールアドレスのチェックが必要そうな理由をいくつか考えてみます。
まず、ハッキング防止のため。
これはありそうです。phpやjsを書かれてしまうと惨事が…。
と思ったのですが、調べてみた限りでは、
フォームのメールアドレスに書いた任意コードが実行されるという話はありませんでした。
では、いたずら防止のため?
でも、例えば他人のメールアドレスを勝手に使って送ってしまえば、
正しいアドレスでもいたずらメールは送れます。
それなら利用者が間違った情報を入力してしまうことで、
サイト側のレスポンスが失敗してしまうのを防ぐため?
これはありそうです。
いわゆる「リテラシーの低いお客さま」が、メルアドの前半部分だけ入力して送ってしまうとか、
そもそもメルアドを全角で入力してしまうとか。
こういうのを防ぐためにメルアドのチェックが必要と言われれば、納得です。
正確無比なメルアドのチェックは必要なのか
では、前述を前提とした場合、「正しいメールアドレスの正規表現」にこだわる必要はあるのでしょうか。
答えは否、だと思われます。
必要なのは、
あからさまにメールアドレスでないものを弾く
程度の機能なのではないでしょうか。
つまり、どの程度のチェックで良いのだろうか
必要なのは、疑わしきを罰せず、あからさまな間違いを弾く程度のチェック。
今回は、php spoot様の【正規表現:メールアドレスかどうか調べる】のものを使いました。
正規表現については正真正銘ど素人につき、コードの紹介=記事の丸パクなので引用は避けておきます。
余談
当サイトのような技術系のブログの存在理由って、大まかに分けると2つしかないと思います。
ひとつは、アフィリエイトなどで収入を得ようとする場合、コンテンツの質が低いとアクセスが望めないので、
自分の得意な分野の知識を掲載してアクセスを得ようとするパターン。
もうひとつが、当サイトのように、筆者のメモ・備忘録として使われるのが主なパターン。
副次的効果として、文章の練習や、文字にすることで思考を整理するなどもありますが、
いずれにしても筆者が、自分自身をメインターゲットにして書いているものです。
後者の場合、基本的には
アクセスが増えれば「嬉しい」
自分の記事が誰かの役に立ってくれたなら尚「嬉しい」
くらいの気分で運営されています。
アフィリエイト的なものが設置されていても、
サーバーやドメインを借りるための資金稼ぎくらいにしか思われていないことも多いと聞きます。
だから技術系ブログなんて、僕のような素人が運営してると思った方が良いんじゃないかな、と。
玉石混交で当然。
情報の正確性については、利用者が確かめるしかないのです。
ちなみに、「悪貨は良貨を駆逐する」という言葉が先のサイトで使われていましたが、
悪貨は良貨を自然に駆逐するわけではないのですよね、実際は。
近代社会において悪貨が良貨を駆逐するとき、そこには上位的存在の意図があったものです。
ですので、僕は明日からも、軽い気持ちで悪貨を生産していくのです。
「悪貨は~」参考サイト:ペペラと一緒【ペペラのバブル物語〜歴代金融バブルをわかり易く解説〜】
けっこうファンです、このサイト様。_(:3」∠)_