我试图将两个字符串转换为相同的格式,比如toUpperCase/toLowerCase来比较两个字符串,而不管在javaScript中是否区分大小写。以下是我的功能。先不能读取属性“toUpperCase”未定义的。我也试图转换的toString()来toLowercase()。它也犯了错误(的toString()未定义):Uncaught TypeError:无法读取未定义的属性'toUpperCase'
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!!", '');
}
}
}
正在此错误遗漏的类型错误。另外建议我是否有其他方法来比较两个字符串,而不管区分大小写。谢谢!
如果条件'k <= usernames.length;'将使它通过数组边界。数组的索引是0,所以数组的最后一个索引将是Array'length-1' –
其中代码中的'toUpperCase'是? – gurvinder372
可能重复[Javascript数组未定义for循环](http://stackoverflow.com/questions/6571451/javascript-array-undefined-in-for-loop) –