在javascript中验证密码时的if/else语法

问题描述:

我对javascript很陌生,试图列出失败密码中缺少的字符以告诉用户需要输入的内容。在javascript中验证密码时的if/else语法

window.onload = function() 
{ 
    var info = document.getElementById("info"); 

    var test = document.getElementById("myForm").test; 

    test.onclick = function(e) 
    { 
    e.preventDefault(); 
    var pw = document.getElementById("myForm").pw.value; 

    var formula = /(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).{6,}/; 

    if(formula.test(pw)) 
    { 
     document.getElementById("myForm").submit(); 
    } 
    else if pw.match(/\d/g) == null { 
     info.innerHTML = "You need a number"; 
     console.log(pw.match(/\d/g)) 

    } else { 

     info.innerHTML = "You need a number." 
    } 

    }; 

}; 

以上只是第一次检查用户是否用现在的数字输入了密码。但我一直得到一个

Uncaught SyntaxError: Unexpected identifier 

在铬开发工具与pw.match部分下划线。我在网上看过其他地方,我的语法看起来正确。我哪里错了?

+0

添加您的HTML代码。 –

+0

不应该像这样初始化你的公式吗? 'var formula =“/(?=.*[az])(?=.*[AZ])(?=.*[0-9]).{6,}/”;'我加了'“”'''迹象 –

您需要围绕if块的条件使用括号。

else if (pw.match(/\d/g) == null) { 
    ... 

你需要一些括号

else if (pw.match(/\d/g) == null) { 
// ^     ^   

据:如果在其他 http://www.w3schools.com/js/js_if_else.asp 你错过了(和)。