如何在JavaScript中进行不区分大小写的比较?

时间:2014-03-05 03:20:28

标签: javascript

我正在制作一个简单的switch函数:

var game = prompt("What game do you want to play?");

switch(game) {
    case 'League of Legends':
        console.log("You just played that!");
    //more case statements snipped... //
    break;
}

如果用户放置league of legends,而不是League of Legends会抓住它还是会重置为我所有情况底部的默认答案?此外,我如何改变它,所以两个答案,大写和不大,都有效?

5 个答案:

答案 0 :(得分:2)

字符串比较区分大小写,因此如果您的代码需要不区分大小写,则应使用yourString.toUpperCase()或使用yourString.toLowerCase()小写的大写字母。

答案 1 :(得分:1)

打开游戏的低端版本:

switch (game.toLowerCase()) {
  case 'league of legends':
    console.log("You just played that!");
    break;
}

答案 2 :(得分:1)

您可以使用 String.toLowerCase() String.toLocaleLowerCase()

game.toLowerCase();

答案 3 :(得分:1)

String.toLowerCase()

在javascript中,字符“L”不等于字符“l”。因此,“英雄联盟”不会与“英雄联盟”相提并论。通过将用户输入转换为全部小写,然后将其与switch语句中的小写字符串匹配,可以保证程序不会根据大小写进行区分。

您的代码toLowerCase()

var game = prompt("What game do you want to play?");
game = game.toLowerCase();

switch(game) {
    case 'league of legends':
        console.log("You just played that!");
    //more case statements snipped... //
    break;
}

答案 4 :(得分:0)

字符串'英雄联盟'和'英雄联盟'是不同的,所以你的所有情况都会在默认情况下达到默认值。

要使其正常工作,您可以使用

switch(game.toUpperCase()) {
    case 'LEAGUE OF LEGENDS':
        console.log("You just played that!");
    //more case statements snipped... //
    break;
}