用户输入案例不敏感

时间:2014-07-21 02:33:41

标签: javascript case-insensitive

我只想要用户Alice and Bob to be greeted。但我希望Alice和Bob的输入不区分大小写(即Alice,alice,ALICE,AlicE等)。

var name = prompt("What's your name?");

var user1 = "Alice", user2 = "Bob";

if (name == user1) { alert("Hi " + user1); } 
else if (name == user2) { alert("Hi " + user2); }
else { alert("You're neither Alice nor Bob."); }

我已经阅读了大量的帖子,但没有一个对我有用。

提前致谢。

2 个答案:

答案 0 :(得分:1)

在测试之前,将输入和正在测试的字符串转换为常见情况(小写或大写)。

如果您使用的是Javascript:

if (name.toLowerCase() == user1.toLowerCase())
{
    alert("Hi " + user1);
}
...

其他语言将具有类似的功能来转换字符串的大小写。

答案 1 :(得分:1)

比较期间

Convert the strings to lowercase

if (name.toLowerCase() === user1.toLowerCase()) {
    alert("Hi " + user1);
}

如果您愿意,可以根据需要使用uppercase

如果您有两个以上的名字,最好使用数组:

var users = ['Alice', 'Bob'];
var u = users.indexOf(name.toLowerCase());

if (u > -1) {
    alert("Hi " + users[u]);
} else {
    alert("You're neither Alice nor Bob.");
}