2

私はphpが初めてで、これは簡単に作成できるはずですが、今は方法がわかりません。$address に「@」と「.」の文字が含まれているかどうかを確認したい

<?php 
    function testEmail($address){
        $a = strpos("/@/", $address);
        $b = strpos("/./", $address);
        if (($a != false) && ($b != false)) {
            echo "Email is OK";
        } else {
            echo "Email is NOT OK";
        }
    }
    testEmail("testmail@gmail.com");
?>
4

3 に答える 3

9

filter_var を使用するだけで、電子メールの有効性を確認できます。

$email = 'gaurang@gmail.com'
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
// Email correct
}
else {
//Email not correct
}
于 2012-09-30T15:00:26.887 に答える
2

この特定のコードについて質問がありますか?そうすれば、@wroniastyの答えは正しいです。ただし、このような怪物を使用したい場合を除いて、正規表現を使用して電子メールの有効性をテストすることは実際には望ましくありません。

ただし、質問が本当に「電子メールアドレスを検証するにはどうすればよいですか?」である場合。、次にを見てくださいfilter_var()

フィルタを渡すことができるFILTER_VALIDATE_EMAILので、かなりのエッジケースをキャッチする電子メールアドレスを検証します。

次のコードを使用してアドレスを確認できます。

if (filter_var($email_address, FILTER_VALIDATE_EMAIL)) {
    // valid email
} else {
    // invalid email
}
于 2012-09-30T15:02:58.027 に答える
0
<?php
function testEmail($address) {
    if (preg_match ( "/\.|@/", $address)) 
       echo "Email OK";
    else
       echo "Email not OK";
}
?>

a better way to check for valid email address:

<?
function isValidEmail($email){
return preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $email);
}
?>
于 2012-09-30T14:59:34.833 に答える