gpt4 book ai didi

javascript - 验证以分号分隔的多个电子邮件,并且所有电子邮件都必须与特定域匹配

转载 作者:行者123 更新时间:2023-11-30 20:56:13 25 4
gpt4 key购买 nike

我想验证这个包含多个电子邮件的文本字段 email;全部由分号分隔,但这不起作用。当 msn.com 与其他电子邮件一起输入时,它应该会中断。

var isMsn = ["msn.com"];
function myFunction() {
var str = email.value;
//var isMsn = str.includes("msn.com");
var res = str.split(";");
var isValid = false;
//alert(res.length);
for (var i = 0; i < res.length; i++){
//alert(res[i]);
var x = res[i];
//check to see if this is an valid emAIL then
var mailformat = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
if(x.match(mailformat)){
alert("valid email address!");
//IF isMsn = TRUE then check to see if is contains msn.com
if (x.contains(isMsn) ){
alert("it is MSN");
//res[+1];
isValid = true;
}
else {
alert('no MSN');
if (res.includes(isMsn)){
//alert('Cannot mix MSN emails with other');
//isValid = false;
//res[-1];
break;
}
//else{
//alert('it is other');
//isValid = true;
//}
}
}
else{
alert("You have entered an invalid email address!");
isValid = false;
}
}
}

我希望它循环,并且所有电子邮件必须匹配 msn.com 或其他不匹配两者。例如,user@msn.com;user1@msn.com 或 user@hotmail.com;user1@hotmail.com 但不是 user@msn.com;user1@hotmail.com

不确定 .includes 是否是最佳选择!

最佳答案

1) 你应该使用includes而不是contains
2)includescontains方法接受的是字符串,不是数组,所以应该是res.includes(isMsn[0])

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes

如果你想通过多个域验证 - 你不应该将它命名为 isMsn,而是 prohibitedDomains 然后到 Array.some ( https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some ) 在这个数组上。

prohibitedDomains.some((domain) => res.includes(domain))

关于javascript - 验证以分号分隔的多个电子邮件,并且所有电子邮件都必须与特定域匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47640551/

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