密码验证对我不起作用

时间:2014-05-30 09:41:20

标签: javascript html passwords

我需要在输入密码时创建一个html页面。每当用户输入正确的密码时,他将被发送到网站。如果用户不能插入正确的密码,他将收到一个错误。(我需要只使用javaScript.no jquery和类似的东西)这就是我做的 -

<form>

在此处输入密码:

<input type="text" id="putPass" name="go2" /> <br />
<input type="button" value="click here" id="press" onclick="pass()" />
</form>

<script type="text/javascript">
var password = ["1234","abcd","0000","1111","4321"]
function pass()

document.getElementById("putPass").value.    //it says it has a syntax error and i dont know why...


if (this == password[])
{
document.write("good job!");    
}
else
{
alert("try again!");
}

</script>
谢谢。

4 个答案:

答案 0 :(得分:1)

您可以尝试使用此代码执行此操作。

http://jsfiddle.net/VAK3N/

<form>
    <input type="text" id="putPass" name="go2" />
    <br />
    <input type="button" value="click here" id="press" />
</form>

<script type="text/javascript">
    var password = ["1234", "abcd", "0000", "1111", "4321"];
    document.getElementById('press').onclick = function () {
        var p = document.getElementById("putPass").value;
        if (password.indexOf(p) > -1) {
            alert("good job!");
        } else {
            alert("try again!");
        }
    }
</script>

答案 1 :(得分:0)

试试这个           
         

<script type="text/javascript">
 var password = ["1234","abcd","0000","1111","4321"];

function pass(){

var userPass = document.getElementById("putPass").value;

if (in_array(userPass, password)){
  document.write("good job!");    
}
else {
 alert("try again!");
}


}

function in_array(needle, haystack){

for(var key in haystack)
{
    if(needle === haystack[key])
    {
        return true;
    }
}

return false;
}


 </script>

答案 2 :(得分:0)

var pass = document.getElementById("putPass").value;
var correct = false;

for (var i=0;i<password[].length;i++){
    if (password[i] == pass){
        correct = true;
        break;
    }
}
if (correct){
    document.write("good job!");    
} else {
    alert("try again!");
}

不确定该确切代码是否有效,但我认为您需要在for循环中单独检查每个密码,您无法将字符串与整个数组进行比较。

答案 3 :(得分:0)

我没有#39;首先看到你不想使用jQuery。那么这就是你的工作代码。

JS:

var password = ["1234","abcd","0000","1111","4321"]
function pass(){

    var input = document.getElementById('putPass').value;
    var accepted= false;
    for(var pass in password){
        if(password[pass] == input ){
            accepted= true;
        }
    }
    if(accepted){
        alert('good job!');
    }else{
        alert('try again!');
    }
}

HTML:

<form>
<input type="text" id="putPass" name="go2" /> <br />
<input type="button" value="click here" onClick="pass();" id="passSender"/>
</form>