検出する正規表現が必要first.second@domain.tld
しかし、検出されません([a-z0-9A-Z])@domain.tld
有効:abc123XYZ@domain.tld
無効:abc12.de456@domain.tld
@
メールアドレスでピリオドが法的に先行していることを認識していますが、その状態を検出する必要があります。
検出する正規表現が必要first.second@domain.tld
しかし、検出されません([a-z0-9A-Z])@domain.tld
有効:abc123XYZ@domain.tld
無効:abc12.de456@domain.tld
@
メールアドレスでピリオドが法的に先行していることを認識していますが、その状態を検出する必要があります。
これが適切な電子メール アドレスであることを既に検証済みであると仮定すると、次のようになります。
\..*@
つまり、 A .
、次に 0 個以上の文字のシーケンス、次に@
これには正規表現は必要ありません。ピリオドの位置をアットマークと比較するだけです。
// assuming there's already an `@` in $email
if (($p = strpos($email, '.')) !== false && $p < strpos($email, '@')) {
echo 'invalid';
}
@
電子メール アドレスにno がない場合'invalid'
、整数は厳密には より小さくならないため、印刷されませんfalse
。
\.(?=.*@)
トリックを行う必要があります。