首页 > 解决方案 > 登录验证 If Else 语句问题

问题描述

为什么当我像这样添加 else 语句时, if 语句被忽略。我输入了正确的值,并且忽略了 if 语句,输出始终是我的 else 代码...

$(document).ready(function() {
  let userData = [
    {
      email: 'knorr@live.com',
      password: 'ksGuQbzYPpW'
    },
    {
      email: 'rddesign@msn.com',
      password: '9Q6urHqy'
    },
    {
      email: 'chaffar@yahoo.ca',
      password: '4xaz2pyk'
    },
    {
      email: 'fatelk@mac.com',
      password: 'TAePJSb2ACX'
    },
    {
      email: 'luebke@me.com',
      password: 'EyFY8uhX'
    },
    {
      email: 'amichalo@mac.com',
      password: 'c7muQ6bxcA9QJKS'
    },
    {
      email: 'mallanmba@yahoo.ca',
      password: 'NqCGLmGtcFU'
    },
    {
      email: 'isaacson@att.net',
      password: 'PMjRGUug7Ff73Kt'
    },
    {
      email: 'aracne@aol.com',
      password: 'sBJU7JJR7Qx6f55'
    },
    {
      email: 'boser@comcast.net',
      password: 'DMXQRNj7BHZ'
    },
    {
      email: 'gtaylor@verizon.net',
      password: 'AbefrKfkbxHbP3u'
    },
    {
      email: 'firstpr@comcast.net',
      password: 'PGWPUtcwP'
    },
    {
      email: 'sumdumass@sbcglobal.net',
      password: '2DrCpjkk9mm8bjW'
    },
    {
      email: 'campbell@yahoo.com',
      password: 'ZmYZgaDq6'
    },
    {
      email: 'wetter@me.com',
      password: 'ppTG3pGAe'
    },
    {
      email: 'british@verizon.net',
      password: '67SbpGYvPJ2'
    }
  ];

  $("#loginBtn").on("click", function() {
    let email = $("#email").val();
    let password = $("#pass").val();

    for (let i = 0; i < userData.length; i++) {
      if (email === userData[i].email) {
        if (password === userData[i].password) {
          alert("Match");
        } else if (password !== userData[i].password) {
          alert("Incorrect Password");
        }

        break;
      } else {
        alert("Invalid Login");
      }
    }
  });
});

标签: javascriptjquery

解决方案


您的代码不会忽略您的if陈述。有用。
你可以尝试这样的事情:

$(document).ready(function () {

  let userData = [{ email: 'admin', 
                    password: '1234'
                 }, {
                    email: 'admin2',
                    password: '12345'
                 }];
                 
  $("#loginBtn").on("click", () => {
  
    let email = $("#email").val();
    let password = $("#pass").val();
    
    let pos = userData.map((user) => user.email).indexOf(email);
    if (pos !== -1) {
      alert((userData[pos].password === password) ? "match" 
            : "password invalid");
    } else { alert("user not found"); }

  });
  
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input id="email" type="text"/>
<input id="pass" type="password"/>
<button id="loginBtn">Login</button>


推荐阅读