【问题标题】:Is there a way to use IgnoreCase in Javascript?有没有办法在 Javascript 中使用 IgnoreCase?
【发布时间】:2012-09-25 16:20:47
【问题描述】:

我想翻译一些单词,但是当我用大写或混合写 HOUSE 时遇到问题。当我用小写写时它才起作用

<script>
var translate = prompt("Enter one of the next words:\nhouse\ntable\ndog\ncat");

switch (translate){
    case 'house': document.write("casa");
        break;
    case 'table': document.write("mesa");
        break
    case 'dog': document.write("perro");
        break;
    case 'cat': document.write("gato");
        break;
    default: document.write("Error");


}
</script>

【问题讨论】:

  • 显而易见的解决方案:switch (translate.toLowerCase()){(实际上,不是那么明显,因为您还必须考虑关闭对话框。因此,最终解决方案变为switch (translate ? translate.toLowerCase() : '') {
  • @RobW 不会 undefined 落入 default
  • @Shmiddty 不是第一种情况,因为undefined没有字符串方法,所以undefined.toLowerCase()会导致抛出错误,从而停止脚本的执行。
  • @RobW 是的,当然。

标签: javascript uppercase lowercase


【解决方案1】:

修改后的代码。 (作为 cmets 中已经给出的解决方案。)

<script>
var translate = prompt("Enter one of the next words:\nhouse\ntable\ndog\ncat") || ''; // take '' if user cancel the prompt as it return `null`;
translate  = translate.toLowerCase();
switch (translate){
    case 'house': document.write("casa");
        break;
    case 'table': document.write("mesa");
        break
    case 'dog': document.write("perro");
        break;
    case 'cat': document.write("gato");
        break;
    default: document.write("Error");


}
</script>

【讨论】:

    【解决方案2】:

    使用 toLowercase() 之类的东西

    mystr="Hello WORLD !";
    document.write(mystr.toLowerCase());
    

    会给“你好世界”

    将此应用于您的翻译变量

    参考:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/toLowerCase

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-25
      • 1970-01-01
      相关资源
      最近更新 更多