0

正規表現で電子メールアドレスを検証する際に問題があります.コードは、ユーザーが最後に(.dot)で区切られた長い文字を入力するまで正常に動作するようです.コードは

if(preg_match('~^\b[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-z]{2,4}+\b$~',$_POST["email"]))

{
    $valid ="valid";
}
else
{
    $valid ="invalid";
}

ユーザーが ksdlk@gll.lik.ij.lio.lk.gr のようなものを入力すると問題が発生し、「有効」が返されます。「.com」や「.co.uk」のような @ からの 4,5 文字のみを許可する最後の文字の処理方法。

前もって感謝します

4

1 に答える 1

1

これを使ってみてください

if(filter_var('email@example.com', FILTER_VALIDATE_EMAIL))return TRUE;
else return FALSE;
于 2012-07-05T08:55:26.857 に答える