如何在JavaScript中将字符串的首字母大写?

如何使字符串的第一个字母大写,但不更改其他任何字母的大小写?

例如:

  • "this is a test" -> "This is a test"
  • "the Eiffel Tower" -> "The Eiffel Tower"
  • "/index.html" -> "/index.html"

回答:

基本解决方案是:

function capitalizeFirstLetter(string) {

return string.charAt(0).toUpperCase() + string.slice(1);

}

console.log(capitalizeFirstLetter('foo')); // Foo

修改了其他一些答案String.prototype(这个答案也曾经使用过),但是由于可维护性,我现在建议这样做(很难找出将函数添加到的位置prototype,如果其他代码使用相同的名称/浏览器,则可能导致冲突将来添加具有相同名称的本机函数)。

…然后,当你考虑国际化时,这个问题还有很多,正如这个令人惊讶的好答案(埋在下面)所示。

如果要使用Unicode代码点而不是代码单元(例如,在基本多语言平面之外处理Unicode字符),则可以利用String#[@iterator]与代码点一起使用的事实,并且可以使用toLocaleUpperCase正确的语言环境大写形式:

function capitalizeFirstLetter([ first, ...rest ], locale = navigator.language) {

return [ first.toLocaleUpperCase(locale), ...rest ].join('');

}

console.log(capitalizeFirstLetter('foo')); // Foo

console.log(capitalizeFirstLetter("????????????????????????")); // "????????????????????????" (correct!)

console.log(capitalizeFirstLetter("italya", 'tr')); // İtalya" (correct in Turkish Latin!)

以上是 如何在JavaScript中将字符串的首字母大写? 的全部内容, 来源链接: utcz.com/qa/429918.html

回到顶部