用户输入不区分大小写

问题描述 投票:0回答:3

我只需要用户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."); }

我已经阅读了很多帖子,但对我来说,这些都没有意义。

提前感谢。

javascript case-insensitive
3个回答
1
投票

在测试它们之前,将输入和要测试的字符串转换为普通大小写(小写或大写)。

如果您使用的是Javascript:

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

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


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.");
} 

0
投票
<div id ="demo">
</div>

<script>
var person = prompt("Please enter your name", "Vitaliy");

if (person == 'Alice' || person == 'Bob' ) {
  document.getElementById("demo").innerHTML =
  "Hello " + person + "! How are you today?";
}
</script>
© www.soinside.com 2019 - 2024. All rights reserved.