簡體   English   中英

如何使案例功能不區分大小寫?

[英]How do I make case function non case sensitive?

        <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':
      ...

請記住,這也適用於AlcoaaLcOa等。

你也可以寫兩次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();

使用.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();
}

盡管.toLowerCase() (或.toUpperCase() )是最簡單的方法,但也有一種正則表達式:

if (/^alcoa$/i.test(input)) {
    // ...
}

如果你使用toUpperCase()然后在switch(輸入)里面,函數case字符串應該是大寫的,如下所示:

   var input = document.getElementById('userInput').value.toUpperCase();
    switch (input) {
       case 'ALCOA':
               // do something
               break;
    }

如果你使用toLowerCase()那么在switch(輸入)里面的函數case字符串應該是小寫的,如下所示:

 var input = document.getElementById('userInput').value.toLowerCase();
switch (input) {
   case 'alcoa':
           // do something
           break;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM