私たちは短い答えに飛びつき、長ったらしい説明は後回しにします。
端的に言えば「いいえ」です。
開発者や擁護派の方々からは、メールの正規表現検証をあからさまに否定することに疑問の声があがっています。
Eメール正規表現が便利なツールであることを否定するつもりはありませんし、ユーザーがフォームやその他の実行可能な媒体に古いテキストを追加するのを防ぐための、ちょっとした賢いキットであることは確かです。かつては、Eメールのデータを収集するために、Eメールの正規表現が活躍していました。
でも今は?今の技術や基準に合わせて?
私たちは、その日が来たと言っています。
メールマーケティングや直帰率、配信スコアに悪影響を及ぼさない、クリーンなメールアドレスを確保したい場合は、正規表現を使うのは得策ではありません。
メール検証用の正規表現とは何ですか?
RegexとはRegular Expressionの略で、様々なコーディング言語で使われる用語である。Regex(正規表現)とは、他の文字列に含まれるパターンにマッチするようにエンコードされた文字列のことです。
ユーザーが文字列を特定のパターンにマッチさせて、入力された情報が正しいかどうかを確認する必要がある場合には、非常に便利な機能です。例えば、電話番号、郵便番号、日付、そして最も重要なメールアドレスなどです。
単純なパターンでは、正確な文字列をルールのセットにマッチさせることができます。単純なパターンが複雑になると、正規表現は効率が悪くなり、悪い結果をもたらす可能性が高くなります。
ここまではいいのですが、では、正規表現によるメール検証の問題点は何でしょうか?
正規表現は便利なツールですが、必要なチェックを網羅しているわけではありません。これらを見てみましょう。
asADldlfj@lsdjf.jte
AAAA@BBBB.ccc
donaldduck@stickyouremails.com
blahblahblah@blahblahblah.net
例えば、上記のようなメールリストの追加を見つけたら、すぐにフラグを立てるでしょう(あるいは立てるべきです)。あなたの製品やサービスに興味を持っている人からの有効なエントリーだとは思わないでしょう。
Regexによるメール検証は可能です。全てのメールを通過させてしまいます。
なぜか?明らかに偽装されたアドレスであっても、そのルールが確認しようとしているパターンに従っているからです。
今では、それほどスマートには見えませんよね。
制約が多すぎる
前述の例は明らかに間違っているように見えますが、一部のメールフォーマットには、私たちが見慣れているよりもはるかに多くの特殊文字が含まれています。
最もシンプルな形として、電子メールアドレスは以下のような形式になっています。
ユーザー名@ドメイン
メールアドレスは3つのセクションで構成されています。
- ローカルな部分 – 一般的にはユーザー名や職務上の役割
- の文字
- 有効なTLD(トップ・レベル・ドメイン)を含むドメイン
もし、それだけのコードであれば、典型的なjavascriptの正規表現チェックで、多くの悪い連絡先がリストに載るのを防ぐことができます。
通常、当社の電子メールアドレスには以下の文字が含まれます。
- 桁数0~9
- 小文字と大文字:a~z、A~Z
- ドット文字[.]。ただし、最初や最後の文字として、または連続して使用することはできません。
もし誰かが、これらの特殊文字の一部または全部を使ってあなたのメールリストに申し込んだとしたら、ほとんどの人は何か問題があるのではないかと疑問に思うでしょうが、それは間違いです。
Regexは構文以外のチェックをしない
開発者は、フォームから有効なアドレスを取得することだけを考えているかもしれませんが、私たちは違います。私たちは知る必要があります。
- ドメインは存在するのか?
- ドメインにメールサーバーがあることを示すMXレコードはありますか?
- そのメールアドレスは使えるメールアカウントを持っていますか?
これらの質問に「ノー」と答えた場合、マーケターである私たちからも厳しい「ノー」を突きつけられることになります。Regexはそのようなことをチェックしませんが、専用のメール検証ツールであれば、そのような赤旗を引き出すことができます。
一時的で使い捨てのアドレスには気づかない
メールマーケティング担当者として、私たちはもう一つ意識していることがあります。それは、多くのユーザーが、キャンペーンやプロモーションなどを利用するために、一時的に偽のアカウントを設定することです。これは、既存のメールアカウントを乱雑にしたり、必要のない自分自身の情報を提供したりすることを避けるための簡単な方法です。
1回限りの解決策として、一時的なメールアドレスや使い捨てのメールアドレスを設定するのは簡単です。それらのアドレスは、設定してから10分か15分で消えてしまうことが多いので、目的に合わせて非常に便利です。
Regexはそれらをチェックしません。一時的なメールアドレスや使い捨てのメールアドレスは、すべてのregex検証テストに合格します。
email regex javascriptはどのように設定しますか?
あなたが手先の器用な開発者であれば、私たちが基本的なことを理解していなくても方法を教えてくれるでしょうが、コーディングの経験がある人にとっては、次のようなものになるはずです。
function ValidateEmail(inputText)
{
var mailformat = [a-z0-9!#$%&’*+/=?^_`{|}~-]+(?:.[a-z0-9!#$%&’*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
if(inputText.value.match(mailformat))
{
alert(“This is not a valid email address”);
falseを返す。
}
}
すべての力を発揮している部分は var mailformat の行になります。その長大なコードの実行と文字によって、何が許され、何が許されないのかが決まります。
シンプルなものを見極めることができる。 A , A , と、最初の、ローカルセクションでの特別な文字を使っています。が登場します。 +@ の後には、ローカルとドメインのセパレータを指定します。に続いて、ドメインセクションで許容されることについて、別の一連の指示があります。
もし、正規表現バリデータの実装に必要なものをより深く理解したいのであれば、abstractにアクセスしてみてください。彼らは何が必要なのかを正確に把握しており、あらゆる種類のAPIの追加や組み込みに関する専門家です。
やる価値のある仕事は、やる価値のあるものだから、可能な限りの方法でリストを検証する
あなたのメールリストがプレミアムな状態であることを確認する唯一の方法は、専用のメール検証ツールを使用することです。 バウンサー .
Regexの検証は、偽のメールアドレスをメールリストに入れたり、有効なメールアドレスをブロックしたりする原因となります。オンラインフォームやデータ収集方法に認証方法を追加する場合は、他のより強固な検証方法をお勧めします。
最終的には、Bouncerのようなプラットフォームでメールリストを管理することが、リストをクリーンで健全な状態に保ち、直帰率を下げ、配信能力を高め、送信者スコアを最高の状態に保つための最良の方法です。
電子メールメッセージ正規表現FAQ
Eメール検証のための簡単な正規表現とは?
電子メール検証のための単純な正規表現(regex)は、電子メールアドレスの検索パターンを定義する文字のシーケンスです。これは、文字列が電子メールアドレスの標準フォーマットに一致するかどうかをチェックするために使用できます。ただし、単純な正規表現では無効なメールアドレスをすべてキャッチできない可能性があり、標準以外のメール形式を通過させてしまう可能性があることに注意する必要があります。
電子メールの正規表現は、無効な電子メールアドレスのフィルタリングにどのように役立ちますか?
電子メール正規表現は、入力文字列(ユーザーが入力した電子メールアドレス)を特定のフォーマットと照合するために使用されます。メールアドレスがこのフォーマットにマッチしない場合、無効とみなされます。これにより、タイプミスを防ぎ、データの一貫性を確保し、ある種のインジェクション攻撃から守ることができます。
電子メールの正規表現における空白文字とは何ですか?
電子メール正規表現における空白文字は、スペース、タブ、改行などの空白を表すために使用されるすべての文字を指します。Eメールアドレスの文脈では、空白文字は通常許可されず、空白文字が存在するとEメールアドレスは無効になります。
複雑な電子メールの正規表現とは何ですか?
複雑な電子メール正規表現は、電子メールの検証に使用される、より詳細で正確な正規表現です。ドメイン名、非ラテン文字、特定の文字が出現する場所に関する特定のルールなど、メールアドレスのさまざまな側面を考慮することができます。より徹底的な検証を行うことができる反面、実装や維持が難しくなる可能性があります。
電子メールの正規表現では、非ラテン文字やユニコードはどのように扱われますか?
メール正規表現における非ラテン文字やユニコードの扱いは複雑です。電子メールシステムによっては、Unicodeや非ラテン文字の電子メールアドレスを許可しているものもありますが、普遍的にサポートされているわけではありません。複雑な電子メール正規表現には、非ラテン文字にマッチする文字クラスを含めることができますが、使用する電子メールシステムの特定の要件と制約を理解することが不可欠です。
電子メールの正規表現における文字クラスの役割とは?
電子メールの正規表現における文字クラスは、入力文字列内の任意の1文字にマッチする文字のセットを定義します。例えば、文字クラス[a-z]は英語の小文字にマッチします。文字クラスは、メールアドレスの異なる部分に有効な文字を指定するために使用できます。
電子メール検証のための電子メール正規表現の限界は何ですか?
電子メールの正規表現は、電子メールアドレスの多くの一般的なエラーを検出することができますが、完全な検証方法ではありません。無効なアドレスでも正規表現チェックを通過する場合もありますし、有効なアドレスでも、特にあまり一般的でない形式や文字を使用している場合は、チェックに失敗することがあります。完全なメール検証を行うには、メール検証サービスを利用するか、入力されたアドレスに確認メールを送信することをお勧めします。