<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;
我该怎么做才能使这个功能区分大小写,所以我可以写一次?
答案 0 :(得分:9)
最简单的方法是使输入全部为大写或全部为小写。请选择:
input = input.toUpperCase();
switch (input) {
case 'ALCOA':
...
请注意,这也适用于Alcoa
,aLcOa
等。
你也可以写两次case
:
switch (input) {
case 'ALCOA':
case 'alcoa':
答案 1 :(得分:3)
输入大写:
<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;
答案 2 :(得分:2)
您需要将输入转换为小写或大写。例如:
var input = document.getElementById('userInput').value.toLowerCase();
答案 3 :(得分:2)
使用.toLowerCase()或.toLocaleLowerCase() 请注意,这些功能几乎与土耳其语等语言中的一些模糊异常相同。
function redirect() {
var input = document.getElementById('userInput').value.toLowerCase();
switch (input) {
case 'alcoa':
window.location.replace('alcoa-Forms.htm');
break;
}
}
功能不是“区分大小写”。相反,您的代码区分大小写。避免此问题的方法是在检查结果之前将输入标准化到单个案例。这样做的一种方法是在检查之前将字符串全部变为小写。
使用案例通过语法:
switch(text) {
case 'a':
case 'A':
doSomething();
}
答案 4 :(得分:2)
尽管.toLowerCase()
(或.toUpperCase()
)是最简单的方法,但也有一种正则表达方式:
if (/^alcoa$/i.test(input)) {
// ...
}
答案 5 :(得分:1)
如果你使用toUpperCase()然后在switch(输入)函数里面 case string应该是大写的,如下所示:
var input = document.getElementById('userInput').value.toUpperCase();
switch (input) {
case 'ALCOA':
// do something
break;
}
如果你使用toLowerCase()然后在switch(输入)函数里面 case string应该是小写的,如下所示:
var input = document.getElementById('userInput').value.toLowerCase();
switch (input) {
case 'alcoa':
// do something
break;
}