php kayıt formu - limit e-postalar

3 Cevap php

benim web bazı e-postaları sınırlamak istiyor.

bir örnek ben sadece gmail hesabı olan insanlar benim web sitesine kayıt istiyorum olurdu.

{
     /* Check if valid email address */
     $regex = "^[_+a-z0-9-]+(\.[_+a-z0-9-]+)*"
             ."@[a-z0-9-]+(\.[a-z0-9-]{1,})*"
             ."\.([a-z]{2,}){1}$";
     if(!eregi($regex,$subemail)){
        $form->setError($field, "* Email invalid");
     }
     $subemail = stripslashes($subemail);
  }

Bu ben onun geçerli bir e-posta eğer şimdiye kadar kontrol etmelisiniz budur.

3 Cevap

Tüm adresi kontrol etmek için tek bir düzenli ifade kullanmayın. Bunları ayrı ayrı kontrol () yerel parçası ve etki alanı adı adresi bölünmüş strrpos kullanın. Domain, kontrol etmek kolaydır yerel kısım neredeyse imkansız (ve hatta bunun umurumda değil gerekir).

Ben size e-posta adresi karşı maç istiyoruz regex desen bir dizi tutmanızı öneririz. sonra dizinin üzerinde yineleme ve adresini kontrol etmek için bir döngü yazmak. Bir denetimi başarısız zaman, yanlış bazı doğrulama bayrağını ayarlayın. döngü sonra, doğrulama bayrağını kontrol ederek size e-posta adresini istediğiniz tam olarak ne olduğundan emin olabilirsiniz.

Nasıl böyle bir şey yapıyor:

list(,$domain) = explode('@',$email);
if ($domain != 'gmail.com')
  echo 'not possible to register';
else 
  echo 'Will register';

Eğer e-posta filtre fonksiyonları kullanmak doğrulamak istiyorsanız