2012-01-18 6 views
0

この式では、有効な電子メールがあるかどうかを確認します。あなたが@記号で、それを分離し、配列の2つのコンポーネントであなたの$email VARを分割することができpplwebは、@記号の後にメールアドレスである電子メールの特定の文字のReg式

!preg_match("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email) 

おかげ

+1

明らかに、あなたは '.info'ドメイン所有者があまり好きではありません。 「美術館」はもちろんのこと、真剣に、これはまずは​​悪い正規表現です。 regexenで電子メールアドレスを検証しようとしないでください。 –

+0

あなたはより良い方法がありますか? – user747796

答えて

1

|私の質問は、私は皆さんのためにチェックすることができる方法ですその後、

$splitted_email = explode('@',$email); 

とあなたの配列の最初の要素にPPL/PP /ウェブパターンで検索

preg_match('(/ppl|pplweb/i)',$splitted_email[1]); 

この方法では、コードはもう少し長くなりますが、短い正規表現はそれよりも優れています。

+0

それはうまくいきません。 – user747796

+0

'$ splitted_email = explode( '@'、$ email);と' $ splitted_email [0] 'の代わりに' $ splitted_email [1] 'にマッチします。ピアレビューを待っているこの回答を編集しました。 – mcrumley

+0

また、正規表現は ''/ ppl | pplweb /''でなければなりません。大文字と小文字を区別しないマッチを望むなら、 ''/ ppl | pplweb/i' 'とする。 – mcrumley

関連する問題