【问题标题】:Is it safe to use String.prototype.toUpperCase() or String.prototype.toLowerCase() on numbers?在数字上使用 String.prototype.toUpperCase() 或 String.prototype.toLowerCase() 是否安全?
【发布时间】:2017-10-22 07:11:03
【问题描述】:

我有一些动态字符串也可能包含数字字符。例如。 1sFw23fD。我想将此字符串中的所有字母转换为大写字母。那就是我想将1sFw23fD 转换为1SFW23FD。为此,我使用toUpperCase() 方法。我不确定toUpperCase() 应该如何处理数字和字母数字字符。使用"1sFw23fD".toUpperCase()安全吗?

正如答案中所解释的,这些数字不受这些方法的影响。请提供一些参考,如 w3c 规范或 mdn 等。干杯。

【问题讨论】:

    标签: javascript html string character-encoding alphanumeric


    【解决方案1】:

    是的。正如http://www.ecma-international.org/ecma-262/6.0/#sec-properties-of-the-string-prototype-object 中定义的那样,它只是替换Unicode 表中具有代表大写/小写值的字符。这不应该是错的......:

    “对于 cpList 中的每个代码点 c,如果 Unicode 字符数据库提供了一个与语言无关的小写等效 c,则将 cpList 中的 c 替换为该等效代码点。” p>

    【讨论】:

      【解决方案2】:

      就我而言,做你现在正在做的事情并没有错。

      > "123123123123a".toUpperCase()
      '123123123123A'
      

      【讨论】:

        【解决方案3】:

        是的,您可以使用它。在这种情况下,“1sFw23fD”已经是一个字符串>注意它周围的引号。

        你也可以使用css属性text-align:uppercase

        .uppercase {
          text-transform: uppercase;
        }
        <div class='uppercase'>
          1sFw23fD
        </div>

        【讨论】:

          【解决方案4】:

          是的,它是安全的。它只影响适当大小写的字符,而将其余部分不理会。

          编辑:“toUpperCase 方法对非字母字符没有影响。”来源:https://docs.microsoft.com/en-us/scripting/javascript/reference/touppercase-method-string-javascript

          【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-06-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-01-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多