正则表达式用于电子邮件,但具有白名单[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式用于电子邮件,但具有白名单[重复]相关的知识,希望对你有一定的参考价值。
我想找到类似的东西:
排除所有@ aaa。*的电子邮件,例如someone@aaa.com或someoneElse@aaa.net但是让NoEmail@aaa.com和Exception@aaa.com
我不知道如何结合以强调第一个规则,但是有例外。
此外,我想添加一个电子邮件模式验证,因此它先有一个@然后是一个。 (我有这个规则,只需要合并所有3个项目)
答案
为什么不在单独的语句中执行这些条件?首先检查它是否是电子邮件,然后检查它是否在白名单中。最后拒绝所有不允许的电子邮件。
var emails = {
'notEmailAtAlll': false,
'someone@aaa.com': false,
'someoneElse@aaa.net': false,
'ExcludeEmail@aaa.com': false,
'NoEmail@aaa.com': true,
'Exception@aaa.com': true
};
var whitelist = [
'NoEmail@aaa.com',
'Exception@aaa.com'
];
for (let [email, condition] of Object.entries(emails)) {
console.log(email, condition, validateEmail(email));
}
function validateEmail(email) {
// Check if email. Replace regex with proper email checker regex
if (!/w+@w+./.test(email)) {
return false;
}
if (whitelist.includes(email)) {
return true;
}
if (email.indexOf('@aaa.') !== -1) {
return false;
}
return true;
}
以上是关于正则表达式用于电子邮件,但具有白名单[重复]的主要内容,如果未能解决你的问题,请参考以下文章