簡體   English   中英

Javascript:驗證警報2

[英]Javascript: Validation alerts 2

我的目標是這樣的:

  1. 檢查emailname是否為空。 如果是這樣,請給“輸入電子郵件或姓名”提示。
  2. 如果是這樣,請檢查email是否有@。如果找不到,請給“錯誤的電子郵件”警報。
  3. 檢查emailname包含任何字母,如果包含,則發出“成功”警報

     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上還很新,所以也許你們可以告訴我我做錯了什么?

您遇到的問題是右括號放在錯誤的位置。 您將其放在警報語句的末尾,並且可能希望將返回值包含在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;
    }
}

試試看這個符合您需求的JSFiddle http://jsfiddle.net/9nF5W/

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');

我認為順便說一下if(a==>0, b==>0){除了“ if(a==>0, b==>0){ ”中的return語句之外,還有另一個錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM