我有一些项目的数组,这些都是可能的密码,并且代码有效,但只能使用其中之一。如何使它与数组中的所有项目一起使用?
我尝试写作 如果(input.value == password [0,1,2,3,4,5]) 但这不起作用
input1是文本字段的ID, button是按钮的ID, 这是脚本:
var password = new Array("pass1", "pass2", "pass3", "pass4", "pass5");
var input = document.getElementById("input1");
var button = document.getElementById("button");
button.addEventListener("click", function () {
for (var x = 0; x <= password.length; x++) {
if (input.value == password[0]) {
document.write("welcome");
break;
} else
alert("wrong");
break;
}
})
答案 0 :(得分:2)
您需要检查数组的元素,并在欢迎之后返回是否找到该值。
在循环后将错误的警报置于末尾,因为对于每个不匹配的密码,您都会收到更多警报。
CREATE VIEW availability_groups_compat
AS
SELECT ca.*
FROM (VALUES(CAST(NULL AS BIT))) OptionalColumns(is_distributed)
CROSS APPLY (SELECT group_id,
name,
resource_id,
resource_group_id,
failure_condition_level,
health_check_timeout,
automated_backup_preference,
automated_backup_preference_desc,
version,
basic_features,
dtc_support,
db_failover,
is_distributed,
cluster_type,
cluster_type_desc,
required_synchronized_secondaries_to_commit,
sequence_number
FROM sys.availability_groups) ca
答案 1 :(得分:1)
一种可能的解决方案是使用Array.includes()替换整个for loop
,例如:
let password = new Array("pass1", "pass2", "pass3", "pass4", "pass5");
let button = document.getElementById("button");
let input = document.getElementById("input1");
button.addEventListener("click", function()
{
if (password.includes(input.value))
alert("welcome");
else
alert("wrong");
});
<input type="text" id="input1">
<button type="button" id="button">Button</button>
答案 2 :(得分:0)
只需将if (input.value == password[0])
替换为if (input.value == password[x])
即可检查重复的密码。
答案 3 :(得分:0)
尝试一下:
答案 4 :(得分:0)
您不需要循环即可进行检查。尝试indexOf
查找是否存在值:
button.addEventListener("click", function () {
if (passwords.indexOf(input.value) !== -1) {
alert("welcome");
} else {
alert("wrong");
}
})