在数字上使用String.prototype.toUpperCase()或String.prototype.toLowerCase()是否安全?

时间:2017-05-22 14:52:24

标签: javascript html string character-encoding alphanumeric

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

正如答案中所解释的那样,这些数字不受这些方法的影响。 Plz提供了一些参考,如w3c spec或mdn等提及干杯。

4 个答案:

答案 0 :(得分:1)

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

"对于cpList中的每个代码点c,如果Unicode字符数据库提供了对c的语言不敏感的小写等价物,则将cpList中的c替换为等效的代码点。"

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

是的,这很安全。它只会影响相应案例的字符,而只剩下其余部分。

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

答案 3 :(得分:0)

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

您还可以使用css属性text-align:uppercase

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