<script type='text/javascript'>
function redirect() {
var input = document.getElementById('userInput').value;
switch(input) {
case 'ALCOA':
window.location.replace('alcoa-Forms.htm');
break;
case 'alcoa':
window.location.replace('/alcoa-Forms.htm');
break;
我如何使这个函数不区分大小写,所以我可以只写一次?
最简单的方法是使输入全部大写或全部小写。随你挑:
input = input.toUpperCase();
switch (input) {
case 'ALCOA':
...
请记住,这也适用于Alcoa
, aLcOa
等。
你也可以只写两次case
:
switch (input) {
case 'ALCOA':
case 'alcoa':
使输入字母大写:
<script type='text/javascript'>
function redirect() {
var input = document.getElementById('userInput').value;
input = input.toUpperCase()
switch(input) {
case 'ALCOA':
window.location.replace('alcoa-Forms.htm');
break;
您需要将您的输入转换为小写或大写。例如:
var input = document.getElementById('userInput').value.toLowerCase();
使用。tolocalelowercase()或。tolocalelowercase ()请注意,这些函数几乎与语言(如土耳其语)中的一些模糊例外相同。
function redirect() {
var input = document.getElementById('userInput').value.toLowerCase();
switch (input) {
case 'alcoa':
window.location.replace('alcoa-Forms.htm');
break;
}
}
更详细的
function redirect() {
var input = document.getElementById('userInput').value.toLowerCase();
switch (input) {
case 'alcoa':
window.location.replace('alcoa-Forms.htm');
break;
}
}
函数不"区分大小写"。相反,代码是区分大小写的。避免此问题的方法是在检查结果之前将将输入规范化为单个大小写。一种方法是在检查前将字符串全部变成小写。
替代解决方案
使用case fallthrough语法:
switch(text) {
case 'a':
case 'A':
doSomething();
}
虽然.toLowerCase()
(或.toUpperCase()
)是最简单的方法,但也有一种正则表达式方法:
if (/^alcoa$/i.test(input)) {
// ...
}
如果使用toUpperCase(),则在开关(输入)函数内大小写字符串应该全大写,如下所示:
var input = document.getElementById('userInput').value.toUpperCase();
switch (input) {
case 'ALCOA':
// do something
break;
}
如果你使用toLowerCase(),那么里面的开关(输入)函数大小写字符串应该都是小写的,像下面这样:
var input = document.getElementById('userInput').value.toLowerCase();
switch (input) {
case 'alcoa':
// do something
break;
}