特定域名的Regex


Regex for specific domain name

我是一个正则表达式noob,但我想写一个正则函数来检查域名xyz.com.it的电子邮件。如果用户在abc.com或其他TLD域名中键入密钥,它就会通过。如果在@then之后在xyz中键入用户密钥,只有xyz.com.it会通过,其他如xyz.net.it或xyz.net不会通过。知道怎么做吗?

我试过

var regex = /^([a-zA-Z0-9_.+-])+'@(([a-zA-Z0-9-])+'.)+([a-zA-Z0-9]{2,4})+$/; 
var regexEmail = regex.test($('#email').val());

仅验证正常的电子邮件

现在,您可以简单地使用PHP的strstr函数,而不是使用regex

$email = "xyz@xyz.com";
$email2 = "xyz@xyz.net";
$valid_domain = "@xyz.com";
function checkValidDomain($email, $valid_domain){
    if(!filter_var($email,FILTER_VALIDATE_EMAIL) !== false){
        if(strstr($email,"@") == $valid_domain){
            return "Valid";
        }else{
            return "Invalid";
        }
    }else{
        return "Invalid Email";
    }
}
echo checkValidDomain($email, $valid_domain);// Valid
echo checkValidDomain($email2, $valid_domain);// Invalid

为什么我在这里没有使用regex,你可以阅读许多关于SO的线程。在PHP中使用正则表达式进行电子邮件验证,并使用正则表达式验证电子邮件地址