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){
电子邮件
和名称
是否为空。如果是,请发出“输入电子邮件或姓名”警报电子邮件
如果没有发现,则发出“坏电子邮件”警报电子邮件
和姓名
是否包含任何字母,如果包含,则发出“成功”警报
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');