关于javascript:Uncaught TypeError:无法读取未定义的属性’toUpperCase’

Uncaught TypeError: Cannot read property 'toUpperCase' of undefined

我正在尝试将两个字符串转换为同一格式,如touppercase/tolowercase,以比较两个字符串,而不管javascript中区分大小写。下面是我的功能。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    function submitForm() {

    var usernames=['one','two','Test'];
    var cpusername ="test";
            var flag = 0;

   if (cpusername !=="")
                {
    for (var k = 0; k < usernames.length; k++)
                {
        var upperCasecpusername=cpusername.toUpperCase();
        var getusername= usernames[k];
        var upperCaseusername=getusername.toUpperCase();

                    if (upperCasecpusername === upperCaseusername)
                    {
                        flag=1;
     console.log(flag);
            //document.getElementById('cpusername').value = '';
                $.messager.alert("Message","Someone already has username"+cpusername+". Try another!!", '');                    


                    }
                }
                }

未捕获类型错误:无法读取未定义的属性"ToUpperCase"。我还尝试先转换ToString(),然后再转换为ToLowerCase()。这也是错误的(ToString()未定义)。如果有其他方法可以比较两个字符串,不管大小写敏感。谢谢!


试试这个

1
var getusername=""+usernames[k];

如果不工作,那么这可能是个问题:

开关

ZZU1

为了

1
for (var k = 0; k <= usernames.length-1; k++)


使用EDOCX1功能是很好的,但如果要求以其他方式进行不敏感的比较,我将建议使用regex。尝试类似于此的事物,以进行无动于衷的比较

1
2
3
4
5
var str="TEST";
var result = str.match(/test/i);
if(result){
// Write logic once the match found
}


试试这个

JS代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
jQuery( document ).ready(function() {

    var usernames=['one','two','Test'];
    var cpusername ="test";
            var flag = 0;

   if (cpusername !=="")
                {
    for (var k = 0; k < usernames.length; k++)
     {
        var upperCasecpusername=cpusername.toLowerCase();
        var getusername= usernames[k];
        console.log(getusername);
        var upperCaseusername=getusername.toLowerCase();

            if (upperCasecpusername === upperCaseusername)
           {
                    console.log(upperCasecpusername);
                    console.log(upperCaseusername);
                        flag=1;
                     console.log(flag);
            //document.getElementById('cpusername').value = '';
                alert("Someone already has username"+cpusername+". Try another!!", '');                    


             }
       }
    }
});

你可以在这里看到恶魔