ホームページ >バックエンド開発 >PHPチュートリアル >PHP 検証メールの精度サンプルコード
電子メールも通常の郵便と同様にアドレスが必要です。通常の郵便との違いは、電子アドレスであることです。インターネット上にメールボックスを持つすべてのユーザーは、1 つまたは複数の独自の電子メール アドレスを持っており、これらの電子メール アドレスはすべて一意です。メール サーバーは、これらのアドレスに基づいて各電子メールを各ユーザーのメールボックスに送信します。電子メール アドレスはユーザーのメールボックス アドレスです。通常のメールと同様に、メールを受信できるかどうかは、正しいメールアドレスを取得しているかどうかによって決まります。 完全なインターネット電子メール アドレスは、次の 2 つの部分で構成されます: ログイン名@ホスト名.ドメイン名。記号の左側は「@」で区切られます。は相手のログイン名、右側はホスト名とドメイン名からなる完全なホスト名です。このうち、ドメイン名はいくつかの部分で構成されており、各部分はサブドメイン (サブドメイン) と呼ばれ、各サブドメインはドット「.」で区切られ、このメール サーバーに関する情報がユーザーに伝えられます。
この記事では主にPHPでメールの精度を確認する方法を紹介します
サンプルコード
<?php if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]$",$email)) { echo "您的 E-Mail 通过初步检查"; } ?>
この文では、まずeregi関数を適用していますが、これはかなりわかりやすいです。この本を探すだけで、説明が得られます:
構文: int ereg(string pattern, string string, array [regs]);
戻り値: integer/array
この関数は、パターン ルールを使用して解析および比較します。 文字列文字列。
比較結果によって返された値は配列パラメータ regs に配置されます。regs[0] の内容は元の文字列 string、regs[1] はルールに準拠する最初の文字列、regs[2] はその文字列です。ルールに準拠する 2 番目の文字列など。パラメータ regs を省略した場合は、単純に比較され、見つかった場合は戻り値が true になります。
理解しにくいのは、前の 正規表現: ^[_.0-9a-z-]+@([0-9a-z][0-9a-z-] +.)+ [a-z]$
この正規表現では、「+」は前の文字列が 1 つ以上連続して出現することを意味し、「^」は次の文字列が先頭に出現することを意味し、「$」は前の文字列が次の位置に出現することを意味します。
文字列は最後に出現する必要があります。"." も エスケープ文字です。"" は、前の文字列が 2 ~ 3 回連続して現れることを意味します。 「()」は、含まれるコンテンツがターゲット オブジェクトにも出現する必要があることを意味します。 「[_.0-9a-z-]」は、「_」、「.」、「-」に含まれる任意の文字、a から z の範囲の文字、および 0 から 9 の範囲の数字を意味します。このように、この正規表現は次のように変換できます: 「次の文字が先頭になければなりません (^)」、「文字は、a から z まで、「_」、「.」、「-」に含まれている必要があります。 0 ~ 9 の範囲の文字、数字 ([_.0-9a-z-])"、"前の文字が少なくとも 1 回出現する (+)"、@、"文字列は a から開始までの文字列で構成されますz の範囲の文字、0 ~ 9 の範囲の数字、その後に「-」に含まれる少なくとも 1 つの文字、a ~ z の範囲の任意の文字、0 ~ 9 の範囲の任意の数字、で終わる文字. (([0-9a-z][0-9a-z-]+.))"、"前の文字が少なくとも 1 回出現します (+)"、"a から z までの文字は 2 ~ 3 回出現し、 ([a-z]$)"
これは複雑ですよね? だからこそ、人々は正規表現を使用します。
以上がPHP 検証メールの精度サンプルコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。