【问题标题】:Compare strings without being case-sensitive比较字符串而不区分大小写
【发布时间】:2015-06-18 19:16:49
【问题描述】:
我在 JavaScript 中创建的变量(它是一个字符串)有问题。它将来自用户的prompt,然后使用switch,我将检查它是否正确。然后当我输入大写时它会说它被识别为另一个var。
这是我的代码:
var grade = prompt("Please enter your class") ;
switch ( grade ){
case "firstclass" :
alert("It's 500 $")
break;
case "economic" :
alert("It's 250 $")
break;
default:
alert("Sorry we dont have it right now");
}
【问题讨论】:
标签:
javascript
web
compare
case-sensitive
【解决方案1】:
最初只是小写。
var grade = prompt("Please enter your class").toLowerCase() ;
【解决方案2】:
正如@nicael 所说,他们输入的内容只是小写。但是,如果您需要保留输入方式并仅使用小写等效项进行比较,请使用:
var grade = prompt("Please enter your class") ;
switch ( grade.toLowerCase() ){
case "firstclass" :
alert("It's $500");
break;
case "economic" :
alert("It's $250");
break;
default :
alert("Sorry we don't have it right now");
}
【解决方案3】:
您可以使用 String 原型方法 toLowerCase() 将整个字符串设置为小写,并以此方式比较两者。
要保持输入相同,请在 switch 语句期间改变字符串:
switch( grade.toLowerCase() ) {
// your logic here
}
【解决方案4】:
在区分大小写的语言中,您应该始终将大写字符串与大写值进行比较。
或更低,更低。
var grade = prompt("Please enter your class") ;
switch (grade.toUpperCase())
{
case "FIRSTCLASS" :
alert("It's 500 $")
break;
case "ECONOMIC" :
alert("It's 250 $")
break ;
default :
alert("Sorry we dont have it right now");
}