この記事では、正規表現についてだけでなく、知っておく必要があるメール正規表現の構成と使用法についても詳しく説明します。さらに、さまざまな
正規表現
^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$
「次の文字が先頭になければなりません (^)」、「文字は、a から z まで、「_」、「.」、「-」に含まれている必要があります。 0 ~ 9 の範囲の文字、数字 ([_.0-9a-z-])"、"前の文字が少なくとも 1 回出現します (+)"、@、"文字列は a ~ の文字列で構成されます。 z の範囲の文字、0 ~ 9 の範囲の数字で始まり、その後に「-」に含まれる少なくとも 1 つの文字、a ~ z の範囲の任意の文字、0 ~ 9 の範囲の任意の数字が続きます。 with . (([0-9a-z][0-9a-z-]+.))"、"前の文字が少なくとも 1 回表示されます (+)"、"a から z までの文字は 2 ~ 3 回表示されますそしてそれで終わります ([a-z]{2,3}$)」
コードは以下のようにコピーされます
function is_valid_email($email, $test_mx = false)
if(eregi("^([_a-z0-9-]+)(.[_a-z0-9-]+ )* @([a-z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})[wind_phpcode_0 ]quot;, $email))
if ($ test_mx)
true を返す;
else
false を返す;
}
ドメイン名は、さまざまな国の特定の文字セット、英語の文字、数字、および「-」(つまり、ハイフンまたはマイナス記号)の任意の組み合わせで構成されますが、先頭または末尾に「-」を含めることはできません。 -」を連続して表示することはできません。 ドメイン名の文字は大文字と小文字が区別されません。ドメイン名の長さは最大 60 バイトです (サフィックス .com、.net、.org などを含む)。
/^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0- 9]+)+[.][a-z]{2,3}([.][a-z]{2})?$/i;
/content/i は大文字と小文字を区別しない正規表現を形成します;
^ マッチングが始まります
$試合終了
([a-z0-9]*[-_]?[a-z0-9]+)* は、_a_2、aaa11、_1_a_2 には一致しますが、a1_、aaff_33a_、a__aa には一致しません。NULL 文字の場合は一致しません。も一致します。 * は 0 以上を意味します。
* は先行する 0 個以上の文字を表します。
[a-z0-9]* 0 個以上の英語の文字または数字と一致します
[-_]?「-」は連続して出現できないため、0 または 1 つの「-」と一致します
[a-z0-9]+ は、「-」を末尾として使用できないため、1 つ以上の英語の文字または数字に一致します
@ @
が 1 つあるはずです([a-z0-9]*[-_]?[a-z0-9]+)+ 上記を参照 ([a-z0-9]*[-_]?[a-z0-9]+) ※説明ですが空にすることはできません、+は1つ以上を意味します。
[.] は特殊文字 (.) を通常の文字として扱います
[a-z]{2,3} は 2 ~ 3 個の英字 (通常は com や net など) に一致します。
([.][a-z]{2})? 0 または 1 [.][a-z]{2} (.cn など) と一致します。.com.cn の最後の部分が通常は 2 ビットですが、そうでない場合は、{2} を {開始単語の数、終了単語の数} に変更してください
詳細な説明付きの完璧な電子メール正規表現。テストに協力してください。 2. 文字列内のメールを抽出します:
コードは次のとおりです コードをコピーします
function getEmail($str) {
$pattern = "/([a-z0-9]*[-_.]?[a-z0-9] +)*@ ([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2}) ?/i" ;
preg_match_all($pattern,$str,$emailArr);
return $emailArr[0];
}
$emailstr = "9999@qq.com.cn俺不米 http://www.hzhuti .com/nokia /5235/ vi の場所で iid メーリング リストを開きます: fuyongjie@163.com および hh@qq.com;.;;,fuyongjie.100@yahoo.com,fu-1999@sina.com";
$ emailArr = getEmail( $emailstr);
echo "
";<br>print_r($emailArr);<br>echo "";
コードは以下の通り コードをコピー
function funcemail($str)//メール正規表現
{
return (preg_match('/^[_.0-9a-z-a-z-]+@([0-9a-z ][0 -9a-z-]+.)+[a-z]{2,4}$/',$str))?true:false;
}//検証方法 1
preg_match("/^[0-9a-z]+@(([0-9a-z]+)[.])+[a-z]{2 ,3}$/",$str,$re);
print_r($re);//メール認証 2 つ
echo "あなたのメールは予備チェックに合格しました";
}// 3 番目のメール認証方法
if (ereg("/^[a-z]([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_] ?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?$/i; ",$email)){
echo "あなたのメールアドレスは正しいです!";}
else{
echo "もう一度お試しください!";
}