Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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_Jquery_Forms_Validation_Error Handling - Fatal编程技术网

JavaScript中传递给多个条件的值

JavaScript中传递给多个条件的值,javascript,jquery,forms,validation,error-handling,Javascript,Jquery,Forms,Validation,Error Handling,我有一个输入字段,我在这里检查这两个条件 如果输入字段是有效的电子邮件格式 如果输入字段以特定域结尾 目前,它只是忽略特定于域的条件,并允许用户输入clark。kent@dailyplanet.com我得到了错误信息: 未捕获类型错误:无法读取未定义的属性“toLowerCase” 不知道为什么会发生这种情况,正如我检查的: var obj = {} obj['$emailFieldValue'] = $emailFieldValue console.log('obj.$

我有一个输入字段,我在这里检查这两个条件

  • 如果输入字段是有效的电子邮件格式
  • 如果输入字段以特定域结尾

  • 目前,它只是忽略特定于域的条件,并允许用户输入
    clark。kent@dailyplanet.com
    我得到了错误信息:

    未捕获类型错误:无法读取未定义的属性“toLowerCase”

    不知道为什么会发生这种情况,正如我检查的:

     var obj = {}
         obj['$emailFieldValue'] = $emailFieldValue
         console.log('obj.$emailFieldValue', typeof obj.$emailFieldValue)
    

    还有绳子?!但是错误是未定义?

    我建议拆分验证,然后再执行验证,请看一看

    函数isValidEmailAddress(emailAddress){
    (a-z\d d!3555 5 5 5 5 5 5 5 5 5 5,,,,,,,,,,[10-10 10-10 10(1-a-z\d d\d d d d d d!????.[[a-a-z\d d d d d d d d d![[5 5 5-0-d..[[10-10-7 7 [[[[[[[[[[[1244]本本本州州]7}}}}}-\UK0 0 0\uuuuuu0 0 0-0-0-0-0-0-\\UUUU00000000000000000000000-\UUKKKKKKKKKKK0\\\\\\U777777-0\假如假如-----7\\\UF7FF\UF7FF\\\\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]| \\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*(3)在本次测试中,([[[[3\t][[3\t][[3\t][3\t][3\t][[3[t][3[3[3[t][3][[3[a-z-z\d\d\d\U00A00-[3[3-t][3[3-t][3[3-z\d-d\U00-0-0-0-0-UF7F-UF-UF-UF-FD-FD-KF\UF-FD-FD-FD\UF\UF-FD-FD\UF-FD-900-\UF\UF\UF\UF-FD\UF-FD-FD\UFF900-\UFF900-\UFF900-\UFF900-\UF\UF-FD\UF-FD-FD-FD-FD-FD\-\uFDCF\uFDF0-\uFFEF]|[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF][a-z\d \-.\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]*[a-z\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])\?$/i;
    返回模式.test(emailAddress);
    }
    函数isValidDomainAddress(电子邮件地址){
    返回emailAddress.toLowerCase()=“acme.com”;
    }
    $(“#新闻稿_提交”)。在('单击',函数(){
    document.getElementById('newsletter_text')。removeAttribute('required'))
    var$emailFieldValue=$(“#新闻稿_文本”).val();
    var$splitEmailFieldValue=$emailFieldValue.split('@');
    var$result=$(“#result”);
    var isValid=isValidEmailAddress($emailFieldValue);
    如果(!isValid){
    $result.animate({'opacity':0},0,函数(){
    $($result).text('必须是有效的电子邮件格式').css('颜色','红色');
    }).animate({'opacity':1},500);
    }
    var obj={}
    obj['$emailFieldValue']=$emailFieldValue
    console.log('obj.$emailFieldValue',obj.$emailFieldValue的类型);
    var isValidDomain=isValid?isValidDomainAddress($splitEmailFieldValue[1]):false;
    if(isValid&!isValidDomain){
    $result.animate({'opacity':0},0,函数(){
    $(this).text('只有Acme员工才能注册,即。joe@acme.comcss('color','red');
    }).animate({'opacity':1},500);
    } 
    if(isValid&&isValidDomain){
    $result.animate({'opacity':0},0,函数(){
    $(此).text('谢谢注册').css('颜色','绿色');
    }).animate({'opacity':1},500);
    }
    });
    
    
    

    提交
    $splitEmailFieldValue
    的console.log是什么?@Taplar感谢您的响应…字符串!不,它是一个数组。所以记录它应该在控制台中打印一个数组。它的值是什么?它应该打印到控制台
    ['clark.kent','dailyplanet.com']
    另请注意;从安全角度来看,限制电子邮件域应该在服务器端完成,而不是客户端。或者不仅仅是客户端。有一些简单的方法可以绕过您的逻辑。@Taplar哦,对不起,我误读了……谢谢Juan!这就是我想要的!
     var obj = {}
         obj['$emailFieldValue'] = $emailFieldValue
         console.log('obj.$emailFieldValue', typeof obj.$emailFieldValue)