検索
ホームページphp教程php手册PHP で一般的に使用される電子メール検証ステートメントの説明

声明

PHP をよく勉強した人なら誰でも、eamil 検証のための次のステートメントを知っているはずだと思いますが、実際に理解できる人は多くありません:
if (eregi("^[_.0-9a -z-]+@ ([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$",$email)) {
echo "あなたのメールは予備検査に合格しました";
}
? >
この文では、まずエレギ関数が適用されていますが、これは非常に理解しやすいです。この本を探すだけで説明が得られます:
構文: int ereg(string pattern, string string, array [regs]);
戻り値: integer/array
この関数は、パターン ルールを使用して文字列 string を解析および比較します。 。
比較結果によって返された値は配列パラメータ regs に配置されます。regs[0] の内容は元の文字列 string、regs[1] はルールに準拠する最初の文字列、regs[2] はその文字列です。ルールに準拠する 2 番目の文字列など。パラメータ regs を省略した場合は、単純に比較され、見つかった場合は戻り値が true になります。

理解しにくいのは、前の正規表現です: ^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.) +[a-z] {2,3}$
この正規表現では、「+」は前の文字列が 1 つ以上連続して出現することを意味し、「^」は次の文字列が先頭に出現する必要があることを意味し、「$」は前の文字列が出現する必要があることを示します。最後に
"." は "." で、"" はエスケープ文字であり、前の文字列が 2 ~ 3 回連続して出現する可能性があることを意味します。 「()」は、含まれるコンテンツがターゲット オブジェクトにも出現する必要があることを意味します。 「[_.0-9a-z-]」は、「_」、「.」、「-」に含まれる任意の文字、a から z の範囲の文字、および 0 から 9 の範囲の数字を意味します。このように、この正規表現は次のように変換できます:
「次の文字が先頭になければなりません (^)」、「文字は、a から z まで、「_」、「.」、「-」に含まれている必要があります。 0 ~ 9 の範囲の文字、数字 ([_.0-9a-z-])"、"前の文字が少なくとも 1 回出現する (+)"、@、"文字列は a から Starts までの文字列で構成されますz の範囲の文字、0 ~ 9 の範囲の数字、その後に「-」に含まれる少なくとも 1 つの文字、a ~ z の範囲の任意の文字、0 ~ 9 の範囲の任意の数字、で終わる文字. (([0-9a-z][0-9a-z-]+.))"、"前の文字が少なくとも 1 回出現します (+)"、"a から z までの文字は 2 ~ 3 回出現し、 ([a-z]{2,3}$)」
これは複雑ですよね、だからこそ人々は正規表現を使用します。



声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)