阻止或阻止临时电子邮件地址域 [英] Block or Prevent Temporary Email Address Domains

查看:110
本文介绍了阻止或阻止临时电子邮件地址域的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是jQuery和正则表达式的新手,我想知道从designchemical.com向此功能添加其他临时电子邮件域的最佳方法是什么?

I am new to jQuery and regular expressions and was wondering what would be the best way to add additional temporary email domains to this function from designchemical.com?

<script type="text/JavaScript">
// prepare the form when the DOM is ready 
$(document).ready(function() { 

    $('#submit').click(function() {  

            $(".error").remove();
            var hasError = false;
            var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
            var emailblockReg =  /^([\w-\.]+@(?!mailinator.com)(?!guerrillamail.com)(?!mytrashmail.com)(?!mailexpire.com)([\w-]+\.)+[\w-]{2,4})?$/;

            var emailaddressVal = $("#Email").val();
            if(emailaddressVal == '') {
                $("#Email").after('<span class="error">Please enter your email!</span>');
                hasError = true;
            } else if(!emailReg.test(emailaddressVal)) {    
                $("#Email").after('<span class="error">Enter a valid email!</span>');
                hasError = true;
            } else if(!emailblockReg.test(emailaddressVal)) {   
                $("#Email").after('<span class="error">No Disposable E-Mail Address!</span>');
                hasError = true;
            } 

            if(hasError == true) { return false; }
    }); 
});
</script>

推荐答案

首先,我将在序言中说您应该始终在后端进行验证.但是,如果您仍然想使用jQuery(用于初始筛选等),请按以下步骤操作:

First I'll preface this by saying you should always do your validation on the backend. But if you still want to use jQuery (for initial screening, etc), here's how I would do it:

将另一个组添加到电子邮件正则表达式:

Add another group to the email regex:

var emailReg = /^([\w-\.]+@(([\w-]+\.)+[\w-]{2,4}))?$/;

创建或传入一系列不需要的域:

Create or pass in an array of unwanted domains:

var bad_domains = ['comcast.net', 'gmail.com'];

对照每个bad_domain检查域:

var emailMatch = emailAddressVal.match(emailRex)
    domain = emailMatch[3];
for (var i = 0; i < bad_domains.length; i += 1) {
    if (domain.toLowerCase() == bad_domains[i])
        return false;
}

要添加一些自定义操作,只需将return false替换为该自定义操作即可.

To add some custom action, just replace the return false with that custom action.

这篇关于阻止或阻止临时电子邮件地址域的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆