如何确定输入的文本是否为某个文本?
我试过了
<script>
var b = document.getElementById('button')
var u = document.getElementById('username')
var p = document.getElementById('password')
var bannedUsers = ["user1012"];
b.onclick = function() {
if(u.value.length <= 20 && p.value.length >= 6 && u.value.length >= 3 && !u.value === bannedUsers) {
location.href = "";
};
if(u.value.length > 20) {
return alert('Username needs to be below 20 characters.')
} else if(u.value.length < 3) {
return alert('Username needs to be above 2 characters')
}
if(p.value.length < 6) {
return alert('Password needs to be over 6 characters.')
}
if(u.value === bannedUsers) {
return alert('That username is banned.')
}
}
</script>
但它最终只是将我带到页面而不是说“此用户名已被禁止”
答案 0 :(得分:2)
您需要使用 includes
方法。
bannedUsers.includes(u.value)
你现在正在做的是检查字符串是否是数组bannedUsers,转换为:'user1012' === '[object Object]'
答案 1 :(得分:-1)
您可以使用 Array.prototype.includes 方法来测试给定值是否在数组中。包含将返回布尔值 true 或 false。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes
if (bannedUsers.includes(u.value) {
return alert('That username is banned.')
}