2016-09-06 71 views
1

我使用JavaScript验证验证我的形式,但它不工作,我看到控制台屏幕上的错误JavaScript的电子邮件验证不工作

"base.js:35 Uncaught SyntaxError: Unexpected identifier".

我的JavaScript如下:

var user = { 
signup : function() { 
    var firstname = document.signupform.first_name.value; 
    var email = document.signupform.email.value; 
    var password = document.signupform.password.value; 
    var confirmpassword = document.signupform.confirmpassword.value; 
    if (firstname == "") 
    { 
     alert("Please provide first name!") 
     document.signupform.first_name.focus(); 
    } 
    else if (!validateEmail()) 
    { 
     alert("Please provide valid email!") 
     document.signupform.email.focus() ; 
    } 
    else if (password == "") 
    { 
     alert("Please enter a valid password") 
     document.signupform.password.focus() ; 
    } 
    else if (password != confirmPassword) 
    { 
     alert("Passwords do not match."); 
     document.signupform.confirmpassword.focus() ; 
    } 
    else 
    { 
     return true 
    } 
    return false 
} 

validateEmail : function() 
{ 
    var emailID = document.signupform.email.value; 
    atpos = emailID.indexOf("@"); 
    dotpos = emailID.lastIndexOf("."); 
    if (atpos < 1 || (dotpos - atpos < 2)) 
    { 
     return false; 
    } 
    return true; 
    }, 
} 
+0

显示的代码具有无效的对象字面值语法。在控制台中是否显示一个行号作为超链接?如果是这样,点击它,它应该突出显示有问题的特定标识符... – nnnnnn

+0

互联网上有很多主题是有效的电子邮件。你可以检查这个答案,例如哪里是很好的正则表达式,你可以简单地复制粘贴 http://stackoverflow.com/questions/46155/validate-email-address-in-javascript – Andurit

回答

3

看起来您的代码丢失,validateEmail 之前您应该删除,末尾

如@nnnnnn在下面的评论中提到,使用validateEmail()将无法​​正常工作 - 与this.validateEmail()

注意,您的验证电子邮件的方法不是很好,还通过电子邮件地址无效

+0

另外,如果(!validateEmail() )'将不起作用,因为该函数是一种方法... – nnnnnn

+0

您需要使用user.validateEmail()作为相同的对象函数 –

-1

使用下面的替换代码

var user = { 
signup : function() { 
    var firstname = document.signupform.first_name.value; 
    var email = document.signupform.email.value; 
    var password = document.signupform.password.value; 
    var confirmpassword = document.signupform.confirmpassword.value; 
    if (firstname == "") 
    { 
     alert("Please provide first name!") 
     document.signupform.first_name.focus(); 
    } 
    else if (!validateEmail()) 
    { 
     alert("Please provide valid email!") 
     document.signupform.email.focus() ; 
    } 
    else if (password == "") 
    { 
     alert("Please enter a valid password") 
     document.signupform.password.focus() ; 
    } 
    else if (password != confirmPassword) 
    { 
     alert("Passwords do not match."); 
     document.signupform.confirmpassword.focus() ; 
    } 
    else 
    { 
     return true; 
    } 
    return false; 
}, 
validateEmail : function() 
{ 
    var emailID = document.signupform.email.value; 
    atpos = emailID.indexOf("@"); 
    dotpos = emailID.lastIndexOf("."); 
    if (atpos < 1 || (dotpos - atpos < 2)) 
    { 
     return false; 
    } 
    return true; 
} 

};