Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 验证多封以分号分隔的电子邮件,所有电子邮件必须与特定域匹配_Javascript_Arrays_Validation_Email Validation - Fatal编程技术网

Javascript 验证多封以分号分隔的电子邮件,所有电子邮件必须与特定域匹配

Javascript 验证多封以分号分隔的电子邮件,所有电子邮件必须与特定域匹配,javascript,arrays,validation,email-validation,Javascript,Arrays,Validation,Email Validation,我想验证包含多封电子邮件的文本字段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; //aler

我想验证包含多封电子邮件的文本字段
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;
       } 
   }    
}
var isMsn=[“msn.com”];
函数myFunction(){
var str=email.value;
//var isMsn=str.includes(“msn.com”);
var res=str.split(“;”);
var isValid=false;
//警报(res.length);
对于(变量i=0;i
我希望它循环通过,所有的电子邮件必须要么匹配一个msn.com或其他,而不是两者都匹配。例如user@msn.com;user1@msn.com或user@hotmail.com;user1@hotmail.com但不是user@msn.com;user1@hotmail.com

不确定.includes是否是最佳选项

1)您应该使用
包含
而不是
包含

2)
includes
contains
方法接受字符串,而不是数组,因此它应该是
res.includes(isMsn[0])

如果要通过多个域进行验证,则不应将其命名为
isMsn
,而应将其命名为
prohibiteddomes
,然后将其命名为
Array

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

我假设你的代码不起作用。请编辑您的问题并解释什么不起作用。此外,考虑在JSfiddle创建一个工作版本,这样我们就可以看到问题是什么。它不能工作,最好是当其他电子邮件与MSNN一起进入时;它应该会坏,但不会!但我希望每封电子邮件都经过验证,并且必须是user@msn.com;user1@msn.com或user@hotmail.com;user1@hotmail.com不user@msn.com;user1@hotmail.com