javascript - 登录验证 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");
}
}
});
});
解决方案
您的代码不会忽略您的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>
推荐阅读
- google-beacon-platform - Proximity Beacon API 不再可用于新项目?
- c++ - CMake 和 MinGW-w64 包含路径
- javascript - react-navigation v5:抛出异常:createStackNavigator 不是函数
- sql - 如何将持续时间(00:15:00,15 分钟)转换为小数小时(0.25,1/4 小时)?
- javascript - AngularJS 控制器未定义
- swift - 为什么我的 SwiftUI 过渡没有动画效果?
- javascript - Node JS, Express & Pug Confusion - 链接/路由
- structure - Blazor 架构
- javascript - 当我尝试在 PHP 中运行此 JS 代码时,为什么没有任何反应?
- java - 基于设备传感器覆盖旋转锁定设置旋转