如何在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