Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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:验证警报2_Javascript_Email_Alert_Verification - Fatal编程技术网

Javascript:验证警报2

Javascript:验证警报2,javascript,email,alert,verification,Javascript,Email,Alert,Verification,我的目标是: 检查电子邮件和名称是否为空。如果是,请发出“输入电子邮件或姓名”警报 如果有,检查@in电子邮件如果没有发现,则发出“坏电子邮件”警报 检查电子邮件和姓名是否包含任何字母,如果包含,则发出“成功”警报 function test(email, name){ if(email=="" || name == "") { alert("Enter mail or name");} return false; if(email.indexOf("@") == -1){

我的目标是:

  • 检查
    电子邮件
    名称
    是否为空。如果是,请发出“输入电子邮件或姓名”警报
  • 如果有,检查@in
    电子邮件
    如果没有发现,则发出“坏电子邮件”警报
  • 检查
    电子邮件
    姓名
    是否包含任何字母,如果包含,则发出“成功”警报

    function test(email, name){
    
    if(email=="" || name == "") {
        alert("Enter mail or name");}
        return false;
    
    if(email.indexOf("@") == -1){
        alert("Bad email");}
        return false;
    
    var a = email.length;
    var b = name.length;
    
    if(a==>0, b==>0){
        alert("Message sent");}
        return true;
    }
    

  • 这是我到目前为止提出的,但它不起作用。我对javascript非常陌生,所以也许你们可以告诉我我做错了什么?

    你们遇到的问题是右括号放错了地方。您在alert语句的末尾有它,您可能希望返回包含在if语句中。如果是这种情况,则将其更改为:

     function test(email, name){
    
            if(email=="" || name == "") {
                alert("Enter mail or name");
                return false;
            }
    
            if(email.indexOf("@") == -1){
                alert("Bad email");
                return false;
            }
    
            var a = email.length;
            var b = name.length;
    
            if(a > 0 && b > 0){
                alert("Message sent");
                return true;
            }
    }
    
    执行相同操作的更好方法是,这样您就不会两次检查变量的长度和大小:

    function test(email, name) {
       var a = email.length;
       var b = name.length;
    
       if ( a > 0  && b > 0 ) {
          // ignore 0 because email addresses shouldn't start with @
          if ( email.indexOf("@") > 0 ) {
             alert("Message sent");
             return true;
          }
          else {
            alert("Bad email");
            return false;
          }
       }
       else {
          alert("Enter mail or name");
          return false;
        }
    }
    

    试试这个JSFIDLE,它似乎适合您的需要


    我认为除了“
    if(a==>0,b=>0){
    ”中的returns语句之外,还有一个错误。

    Define“不起作用”。发生了什么而不是您预期会发生什么?这里也有一些非常时髦的缩进。请尝试运行代码。请为您的
    if
    语句查看结尾的花括号的位置。以下是正确缩进后代码的外观。从这里看,问题应该非常明显:)
    function test(email, name) {
    
        if (email == "" || name == "") {
            alert("Enter mail or name");
            return false;
        }
    
        if (email.indexOf("@") == -1) {
            alert("Bad email");
            return false;
        }
    
        var a = email.length;
        var b = name.length;
    
        if (a > 0 && b > 0) {
            alert("Message sent");
        }
        return true;
    }
    
    test('tes@t', 'test');