如何在网站上禁止用户名

时间:2021-03-02 18:53:04

标签: javascript html

如何确定输入的文本是否为某个文本?

我试过了

<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>

但它最终只是将我带到页面而不是说“此用户名已被禁止”

2 个答案:

答案 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.')
}