javascript - 比较用户名+密码的两个数组
问题描述
我在 JavaScript 中有两个数组。一个包含用户名,一个包含密码。我想创建一个循环来检查用户输入的“approvedUsernames”数组中的用户名位置(i),并在“approvedPasswords”数组中获取相同的“i”值并选择该值找到了。然后比较两者。如果它们匹配,则成功登录,否则不成功
请查看现有数组和我已经在下面编写的代码
非常感谢任何帮助我希望这已经足够清楚了我很难措辞:)
詹姆士
编辑:我知道这是一种非常不安全的密码存储方式,它只是暂时测试登录算法。最终版本肯定会使用 PHP+SQL 数据库
数组:
approvedLogins = ['JamesLiverton', 'SamW'] approvedPasswords = ['password', 'coding']
代码:
function login(){
var username = document.getElementById('usernameField').value
var password = document.getElementById('passwordField').value
for (i = 0; i < approvedLogins.length; i++) {
if (username == approvedLogins[i].username && password == approvedPasswords[i].password) {
alert('Login Sucessful')
return
}
else {
alert('Login Unsucessful')
return
}
}
}
解决方案
let approvedLogins = ['JamesLiverton', 'SamW']
let approvedPasswords = ['password', 'coding']
function login(){
var username = document.getElementById('usernameField').value
var password = document.getElementById('passwordField').value
let index = approvedLogins.indexOf(username)
if (password === approvedPasswords[index]) {
alert('Login Sucessful')
} else {
alert('Login Unsucessful')
}
}
<input type="text" id="usernameField" placeholder="username" /><input type="text" id="passwordField" placeholder="password" />
<button onclick="login()">login</button>
推荐阅读
- sql - 将分析函数与汇总相结合
- wordpress - addthis linkedin url 从 'wpseo_add_opengraph_images' yoast seo 函数中获取默认图像
- pandas - 应用于数据框的函数给出“无结果”错误
- php - 查询需要很长时间才能执行 laravel
- android - 无法列出文件系统以检查它们是否可以被监视
- java - Log4j 2 内存泄漏
- ruby - 在不同对象之间传递过程
- flutter - 备份和恢复flutter sqflite数据库的最佳方法是什么?
- python - 使用 pandas 合并 csv 文件
- javascript - 我的代码似乎有效 - 但每个答案后都有一个“未定义”