只允许一个或几个电子邮件扩展


allow only one or some email extension

我只是想问我如何允许@abc.co。Uk @def.com.tr或其他电子邮件扩展名。用户何时注册我的网站?

就像如果用户试图注册(name@hotmail.com),那么这个邮件是不允许的。但是如果用户尝试注册(name@abc.co.uk或@def.com.tr),那么用户可以注册网站。

$("#email").change(function() 
{ 
var email = $("#email").val();
var msgbox = $("#estatus");
if(email.length >= 3)
{
$("#estatus").html('<div class="checking">Checking availability...</div>');
$.ajax({  
    type: "POST",  
    url: "check_mail.php",  
    data: "email="+ email,  
    success: function(msg){  
   $("#estatus").ajaxComplete(function(event, request, settings){ 
   var d = msg;
var str=msg.substr(0, 2);
    $("#estatus").html('');
    if(str == 'OK')
    { 
        $("#email").removeClass("no");
        $("#email").addClass("yes");
        //msgbox.html('<font color="Green"> Ok </font>  ');
    }  
    else  
    {  
         $("#email").removeClass("yes");
         $("#email").addClass("no");
         msgbox.html(msg);
    }  
   });
   } 
  }); 
}
else
{
 $("#email").addClass("no");
$("#estatus").html('<div class="error">Enter a valid e-mail</div>');
}

return false;
});
PHP

check_mail.php

<?php
error_reporting(0);
include_once 'includes/db.php';
include_once 'includes/Sc_Script.php';
$Sc = new Check_Email();
if(isSet($_POST['email'])){
   $value=$_POST['email'];
   // Check the mail is already in using or not
   $check=$Sc->Login_Check($value,0);
   if($check) {
      echo '<div class="error">'.$value.' = This email address is already in use.</div>';
    } else {
        // Else continue
        echo 'OK';
    }
}
?>

首先您需要取出域名,然后您需要检查它是否包含在某些白名单数组中:

function isDomainAllowed($email_address)
{
  $domain = substr($email_address, strrpos($email_address, '@') + 1);
  if (in_array(strtolower($domain), array(
    'abc.co.uk',
    'def.com.tr',
  )))
  {
    return TRUE;
  }
  return FALSE;
}
if (isDomainAllowed($email_address))
{
  // Allowed
}
else
{
  // Not allowed
}

您已经检查了每个&每个带有所提供电子邮件的白名单域。

$emailList = array();
$emailList = ["abc.in","def.uk"];
$flag = false;
foreach($emailList as $email)
{
    if(stripos($_POST['email'],$email) != false)
        $flag = true;
}
if($flag == false)
     echo "Invalid email domain";