[英]Javascript: Validation alerts 2
我的目標是這樣的:
email
和name
是否為空。 如果是這樣,請給“輸入電子郵件或姓名”提示。 email
是否有@。如果找不到,請給“錯誤的電子郵件”警報。 檢查email
和name
包含任何字母,如果包含,則發出“成功”警報
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.