Jquery 阻止或阻止临时电子邮件地址域
我不熟悉jQuery和正则表达式,想知道从designchemical.com向该函数添加其他临时电子邮件域的最佳方式是什么Jquery 阻止或阻止临时电子邮件地址域,jquery,regex,Jquery,Regex,我不熟悉jQuery和正则表达式,想知道从designchemical.com向该函数添加其他临时电子邮件域的最佳方式是什么 <script type="text/JavaScript"> // prepare the form when the DOM is ready $(document).ready(function() { $('#submit').click(function() { $(".error").remove();
<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>
//当DOM就绪时准备表单
$(文档).ready(函数(){
$(“#提交”)。单击(函数(){
$(“.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();
如果(emailaddressVal==''){
$(“#Email”)。在('请输入您的电子邮件!')之后;
hasrerror=true;
}如果(!emailReg.test(emailaddressVal)){
$(“#电子邮件”)。在('输入有效电子邮件!')之后;
hasrerror=true;
}如果(!emailblockReg.test(emailaddressVal)){
$(“#Email”)。之后('没有可使用的电子邮件地址!');
hasrerror=true;
}
如果(hasError==true){return false;}
});
});
首先,我会在序言中说,您应该始终在后端进行验证。但如果您仍然想使用jQuery(用于初始筛选等),我会这样做:
将另一个组添加到电子邮件正则表达式:
var emailReg = /^([\w-\.]+@(([\w-]+\.)+[\w-]{2,4}))?$/;
创建或传入不需要的域数组:
var bad_domains = ['comcast.net', 'gmail.com'];
根据每个坏域检查域
:
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;
}
var-emailMatch=emailAddressVal.match(emailRex)
domain=emailMatch[3];
对于(变量i=0;i
要添加一些自定义操作,只需用该自定义操作替换
return false
。首先,我会说,您应该始终在后端执行验证。但如果您仍然想使用jQuery(用于初始筛选等),我会这样做:
将另一个组添加到电子邮件正则表达式:
var emailReg = /^([\w-\.]+@(([\w-]+\.)+[\w-]{2,4}))?$/;
创建或传入不需要的域数组:
var bad_domains = ['comcast.net', 'gmail.com'];
根据每个坏域检查域
:
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;
}
var-emailMatch=emailAddressVal.match(emailRex)
domain=emailMatch[3];
对于(变量i=0;i
要添加一些自定义操作,只需用该自定义操作替换
return false
。您可以在此处使用免费服务:
它包含5000多个假提供者,并返回JSON/XML或Plain。您可以在此处使用免费服务DEAGuard:
它包含5000多个假提供者,并返回JSON/XML或Plain。建议在后端进行验证,因为JavaScript可以在客户端截获和操作。此外,每天都会出现一次性电子邮件,如果您不想每天更新列表,只需使用第三方API即可 例如,您可以使用我的API 下面是一个PHP示例:
$request = file_get_contents('http://api.antideo.com/email/u978293@mvrht.net');
$response = gzdecode($request);
$result = json_decode($response);
if($result['disposable']) {
echo 'Email is disposable';
} else {
// email is not disposable do you stuff here
echo 'Email is not disposable';
}
和使用jQuery的JavaScript:
$.getJSON('https://api.antideo.com/email/u978293@mvrht.net',function(result){
if(result['disposable']) {
console.log('Email is disposable');
} else {
// email is not disposable do you stuff here
console.log('Email is not disposable');
}
})
建议在后端进行验证,因为JavaScript可以在客户端被拦截和操作。此外,每天都会出现一次性电子邮件,如果您不想每天更新列表,只需使用第三方API即可 例如,您可以使用我的API 下面是一个PHP示例:
$request = file_get_contents('http://api.antideo.com/email/u978293@mvrht.net');
$response = gzdecode($request);
$result = json_decode($response);
if($result['disposable']) {
echo 'Email is disposable';
} else {
// email is not disposable do you stuff here
echo 'Email is not disposable';
}
和使用jQuery的JavaScript:
$.getJSON('https://api.antideo.com/email/u978293@mvrht.net',function(result){
if(result['disposable']) {
console.log('Email is disposable');
} else {
// email is not disposable do you stuff here
console.log('Email is not disposable');
}
})
使用
new RegExp()
构建emailblockReg
,您可以使用字符串操作从字符串数组创建RegExp。当然,值得一提的是,用户可以轻松绕过在客户端执行的任何阻塞,因此也需要在服务器上执行。特别是,如果目的是防止机器人注册到您的站点,您不能依赖javascript代码,因为机器人通常会完全绕过它。使用new RegExp()
构建emailblockReg
,您可以使用字符串操纵从字符串数组创建RegExp。当然,值得一提的是,用户可以轻松绕过在客户端执行的任何阻塞,因此也需要在服务器上执行。特别是如果目的是防止机器人注册到您的站点,那么您不能依赖javascript代码,因为机器人通常会完全绕过它。