如何通过检查JavaScript数组来检查用户名是否被占用

How to check if a username is taken, by checking against a JavaScript array.

本文关键字:检查 是否 何通过 JavaScript 数组 用户      更新时间:2023-09-26
var y=document.forms["form"]["user"].value
    if (y==null || y=="" )
        {
            alert("Username cannot be Blank");
            return false;
        };
var x = new Array();
    x[0] = "bill";  
    x[1] = "ted";   
    x[2] = "jim";   
    for ( keyVar in x ) 
        {
            if (x==y)
            {
                alert("Username Taken");
                return false;
            };
        };

我如何比较一个变量在JavaScript数组中,我设法使上面的例子,但第二部分,我需要的位,不工作。有什么想法吗?

您可以简单地使用Array.prototype.indexOf方法检查数组。

var x = [ 'bill', 'ted', 'jim' ],
    y = 'ted';
if( x.indexOf( y ) > -1 ) {
    alert('Username Taken');
    return false;
}

你应该使用一个对象:

var y = document.forms["form"]["user"].value;
if (y == null || y == "") {
    alert("Username cannot be Blank");
    return false;
};
var x = {};
x["bill"] = true;
x["ted"] = true;
x["jim"] = true;
if (x[y] === true) {
    alert("Username Taken");
    return false;
}

使用jQuery可以很简单地做到这一点

数组值的列表

var x = new Array();
x[0] = "bill";  
x[1] = "ted";   
x[2] = "jim";
然后

 if(jQuery.inArray("John", arr) == -1){
     alert("Username Taken");
 }