PHPでは、ユーザーが入力した情報がメールアドレスであるかどうかを確認するために正規表現を使うことが多いです
メールアドレスを判断するための正規表現について詳しくご紹介します。 、下の意味を一文ずつ説明します
コードは次のとおりです | コードをコピー |
^(w+((-w+)|(.w+))*)+w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A -Za-z0-9]+)*.[A-Za-z0-9]+$ |
^ 文字列ヘッダーの一致
(w+((-w+)|(.w+))*) 1: これは、layedfj456、sfi-lsoke、fe.23i などの文字列と一致します
+ 一致するプラス記号
w+((-w+)|(.w+))* 1と同じ
@マッチ@
[A-Za-z0-9]+ 2: 大文字、小文字、数字で構成される文字列。w+
と同等((.|-)[A-Za-z0-9]+)* .oeiu234mJ、-oiwuer4 など、「.」または「-」で始まる 0 個以上の文字列と一致します。
.「.」に一致します[A-Za-z0-9]+ 2 と同じ
$ 文字列の ? の末尾に一致します
例
コードをコピー | |
/** * メールの正規表現 @author:lijianghai */ 関数 isEmail($input = null) { //ユーザー名: 数字、文字、アンダースコアで構成されます ; $email = $input; /*preg_ereg() の使用中にエラーが発生しました: 2 番目のパラメーターは配列である必要があるためです * if(preg_grep("^[a-zA-Z][a-zA-Z0-9_]{3,19}@[0-9A-Za-z]{1,10}(.)(com|cn |net|com.cn)$"、array($input))) { echo $email.'は適格な電子メール アドレスです'; }その他 { echo $email.'フォーマットエラー'; } */ if(ereg("^[a-zA-Z][a-zA-Z0-9_]{3,9}@[0-9a-zA-Z]{1,10}(.)(com|cn| com.cn|net)$",$email)) { echo $email."形式仕様に準拠"; } それ以外 { echo $email.'フォーマットエラー'; } } $email = ""; isEmail($email); ?> |