我的朋友正在开发一个有趣的Javascript Web应用程序,您可以在文本框中键入内容,然后计算机会返回结果,但它区分大小写。他可以让它不区分大小写吗?我们试图使用:
var areEqual = string1.toUpperCase() === string2.toUpperCase();
在JavaScript case insensitive string comparison上,但他无法弄清楚如何使用它。
function isValid() {
var password = document.getElementById('password').value;
if (password == "Shut Up")
{ alert('HOW ABOUT YOU!') }
else if (password == "No")
{ alert('You just did') }
}
答案 0 :(得分:0)
只需在变量后面添加.toUpperCase()
:
else if (password == "No")
{alert('You just did')}
变为:
else if (password.toUpperCase() == "No".toUpperCase())
{alert('You just did')}
或只是:
else if (password.toUpperCase() == "NO") //Notice that "NO" is upper case.
{alert('You just did')}
答案 1 :(得分:0)
您可以这样使用,例如在第一个else-if块:
else if (password.toUpperCase() == "NO")
{alert('You just did')}
应用于字符串的函数toUpperCase返回它的大写版本,因此对于No,它将为NO。如果密码变量包含单词no的任何小写组合,例如" No"," nO"," NO"或"不",然后password.toUpperCase()将是"否"。 前面的代码相当于
{{1}}
答案 2 :(得分:0)
如果您要这样做,请使用switch
! toLowerCase
与toUpperCase
之间唯一真正的区别在于,案例行中的值不会向您大喊大叫。
function isValid() {
var password = document.getElementById('password').value;
switch (password.toLowerCase()){
case "shut up":
alert('HOW ABOUT YOU!');
break;
case "no":
alert('You just did');
break;
case "okay":
alert('Okay');
break;
// ...
case "something else":
alert('Really?');
break;
default:
alert('Type Something Else')
}
}