检查密钥是否在array-JavaScript中

时间:2017-12-10 11:53:36

标签: javascript jquery html

我有这个JavaScript代码

function checkTextField() {
var textVal = document.getElementById("textfield").value;
if (textVal == '', textfield.value.length <= 31)
{
    alert('Wrong Key-Code. Key-Code must have 32 characters!'); 
}
else //Its all about how to decrypt a database file called ,,Salam Horia Allah,,!(good luck hackers)
{
    {
        var text = document.getElementById("textfield").value;
        if (text ==
              "3e6898f92134d05408dfed30b268d9d6",
              "fa0f82cc02a6cdc35072ee5ce2b0c379",
              "6a1df566fcaabca717aa1b81c3e0bd31",
              "dc0beea186c5f5c2110bedbeccc5a7aa",

              "1a317dbc4587268809b67179c391a5da9debb6261e3a3bcf7e6cd2b34356fc40",
              "08a8c9750b3d184e6450b98fa90208bbd6c07171c0cce929bc52be1fdb44b09c",
              "ac8ce3072f41269be4626539650bb1981c2939db0ffd576f240d06b0b7470c11",
              "23a306626c5e9f83d8ce6012f9209fb8f3adcc1a098ffbfafd3c7965ed2c30a6",

              "teBy%udu#uMuGyZe4uTyHeNa5yLy6avyTumypy8uHaGujytaWy",
              "SezyDuXaquneguzuLatydy7e2ygu4y5e7uqe3e6uheVuVeSumu"

              )
        {
            location.href = "http://79.115.70.31:8521/InWork/"
        }
        else {
            alert("Wrong Key")
        }
    }
} 
}

以下是发生的事情: 当我从if (text == "3e6898f92134d05408dfed30b268d9d6", "fa0f82cc02a6cdc35072ee5ce2b0c379", "6a1df566fcaabca717aa1b81c3e0bd31", "dc0beea186c5f5c2110bedbeccc5a7aa",

插入密钥时,我有一个文本框和一个按钮

当有人按下该按钮时,我希望该脚本检查其中一个键是否在文本字段中,如果为true则请求将发送到另一个页面,如果不是,则显示警告。

但我的问题是,无论我在该文本框中写什么,它都会将我发送到该页面,如果文本框中包含<31个字符,我也会收到警报。

2 个答案:

答案 0 :(得分:2)

comma operatorif子句内部工作,但它需要最后一个值,而不是逻辑OR,这是必需的。

(输入始终返回一个字符串,如果为空,则字符串长度为零。检查空白和检查小于值的长度是多余的,因为长度检查也包括零长度。 )

if (textVal == '' || textfield.value.length <= 31)
//                ^^

除此之外,我建议使用数组作为有效密钥进行检查,只检查值是否在数组中,然后继续或发出警报。

另一点是仅将输入的值赋值一次,并在整个函数中使用该变量。不要将带有变量和document.getElementById("textfield").value的混合样式一起使用。

function checkTextField() {
    var keys = ["3e6898f92134d05408dfed30b268d9d6", "fa0f82cc02a6cdc35072ee5ce2b0c379", "6a1df566fcaabca717aa1b81c3e0bd31", "dc0beea186c5f5c2110bedbeccc5a7aa", "1a317dbc4587268809b67179c391a5da9debb6261e3a3bcf7e6cd2b34356fc40", "08a8c9750b3d184e6450b98fa90208bbd6c07171c0cce929bc52be1fdb44b09c", "ac8ce3072f41269be4626539650bb1981c2939db0ffd576f240d06b0b7470c11", "23a306626c5e9f83d8ce6012f9209fb8f3adcc1a098ffbfafd3c7965ed2c30a6", "teBy%udu#uMuGyZe4uTyHeNa5yLy6avyTumypy8uHaGujytaWy", "SezyDuXaquneguzuLatydy7e2ygu4y5e7uqe3e6uheVuVeSumu"],
        text = document.getElementById("textfield").value;

    if (keys.indexOf(text) !== -1) {
        location.href = "http://79.115.70.31:8521/InWork/";
    } else {
        alert("Wrong Key");
    }
}

答案 1 :(得分:0)

你需要将tex与每个可用的密钥进行比较,以便

function checkTextField() {
    var textVal = document.getElementById("textfield").value;
    var yourKeys  =[ "3e6898f92134d05408dfed30b268d9d6",
          "fa0f82cc02a6cdc35072ee5ce2b0c379",
          "6a1df566fcaabca717aa1b81c3e0bd31",
          "dc0beea186c5f5c2110bedbeccc5a7aa",

          "1a317dbc4587268809b67179c391a5da9debb6261e3a3bcf7e6cd2b34356fc40",
          "08a8c9750b3d184e6450b98fa90208bbd6c07171c0cce929bc52be1fdb44b09c",
          "ac8ce3072f41269be4626539650bb1981c2939db0ffd576f240d06b0b7470c11",
          "23a306626c5e9f83d8ce6012f9209fb8f3adcc1a098ffbfafd3c7965ed2c30a6",

          "teBy%udu#uMuGyZe4uTyHeNa5yLy6avyTumypy8uHaGujytaWy",
          "SezyDuXaquneguzuLatydy7e2ygu4y5e7uqe3e6uheVuVeSumu"];

  if (textVal == '', textfield.value.length <= 31)
      alert('Wrong Key-Code. Key-Code must have 32 characters!'); 

  else {
    var text = document.getElementById("textfield").value;
    var i = yourKeys.length;
    while(i--){
        if(text == yourKeys[i] )
        location.href = "http://79.115.70.31:8521/InWork/"
    else
        alert("Wrong Key")
     } 
  }
}