我有一个合法的网站。我正在让质子,Hush和类似的用户尝试注册。最近我发现了一些坏演员。在我走上PhoneText验证的道路之前,我想尝试在这个5美元的问题上花费5美元。
我目前正在验证他们的电子邮件地址,如下所示。
<script type="text/javascript">
<!--
function validate() {
var emailID = document.orderForm.con_email.value;
bademailPos = emailID.indexOf("proton");
if (bademailpos > 1) {
alert("Sorry. We can't deal with these types of email addresses. Got a normal one?")
document.orderForm.con_email.focus() ;
return false;
}
return( true );
}
//-->
</script>
有这些类型的邮件系统邮件格式的列表吗?例如,"protonmail.com"、"Hushmail.com"等,这样我就可以识别它们了?
TIA-
从RFC5322电子邮件定义开始,您可以使用以下regex来过滤特定的电子邮件提供商帐户:
b[w.!#$%&’*+/=?^`{|}~-]+@(protonmail|hush)+(?:.[w-]+)*b
因此,您的代码应该包括以下行:
function checkBannedEmailProvider(email) {
var re = new RegExp('b[w.!#$%&’*+/=?^`{|}~-]+@(protonmail|hush)+(?:.[w-]+)*b');
var OK = re.exec(email);
if (!OK) {
console.error(email + ' : Email provider not permitted. ');
} else {
alert(OK[0] + ' : Valid email provider. ');}
}
var email = 'asd@protonmail.com'
checkBannedEmailProvider(email);
此处已验证regex字符串,此处已验证js代码