gpt4 book ai didi

javascript - 检查输入的电子邮件

转载 作者:行者123 更新时间:2023-11-28 14:48:40 26 4
gpt4 key购买 nike

学习 JavaScript 中的正则表达式。我需要检查输入的电子邮件。

有这个:

reg=/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/

但我需要检查这封电子邮件是否以 @google.com@me.com 结尾。例如 /@google.com$|@me.com$/。差点让我心碎。请帮助我)

最佳答案

从编程的 Angular 来看,您应该首先检查您的电子邮件字符串 terminates使用 @google.com@me.com,然后运行您的正则表达式。

这将节省您的时间:正则表达式将是您所知道的所有通用邮件格式正则表达式,并且您可以随时添加更多域过滤器(将终止域放入数组或配置中...)。

它的 CPU 密集程度也低得多。如果您需要连续执行这些检查并期望过滤掉大量电子邮件,那么您会注意到一个明显的差异:虚拟字符串比较比正则表达式快得多。

<小时/>

var emails = ['jose@me.com', 'hacker@noway.com', 'hacker";DROP TABLES;@me.com' ];
var domains = ['gmail.com', 'me.com'];

function validateEmailFormat(email) {
return /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)
}

function validateEmailDomain(email) {
for (i in domains) {
if (email.endsWith('@'+domains[i])) {
return true;
}
}
return false;
}

for (i in emails) {
email = emails[i];
if (validateEmailDomain(email) && validateEmailFormat(email)) {
console.log('OK for '+email);
} else {
console.log('NOT OK for '+email);
}
}

关于javascript - 检查输入的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45404144/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com