回答

收藏

如何在 JavaScript 中使字符串的第一个字母大写?

技术问答 技术问答 447 人阅读 | 0 人回复 | 2023-09-11

如何在不改变任何其他字母的情况下大写字符串的第一个字母?8 x6 W$ v2 y( e! t6 i' Z8 L# E
例如:  r$ l6 S7 B7 p% f" R
"this is a test" → "This is a test"
: J& w2 d/ K! k( q/ i2 ^7 w1 B( Y"the Eiffel Tower" → "The Eiffel Tower"1 d: x, R7 x5 K! C0 I: a( P8 l
"/index.html" → "/index.html"
                                                               
& L* o  [" ]( Y7 k, f( J    解决方案:                                                               
. D+ P$ _+ t6 p                                                                基本的解决方案是:
) g( T9 G2 l7 f4 g
    function capitalizeFirstLetter(string) {  return string.charAt(0).toUpperCase()   string.slice(1);}console.log(capitalizeFirstLetter('foo); // Foo% t. {: K9 X3 W7 n  E$ n7 ^0 M
修改了其他答案String.prototype(这个答案也曾经修改过),但由于可维护性,我现在建议不要这样做(很难找出函数被添加到的位置prototype,如果其他代码使用相同的名称/浏览器,将来可能会导致冲突添加相同名称的本机函数)。
' s3 v0 |) |) U, ?. e若要使用 Unicode 代码点而不是代码单元(如处理基本多语言平面以外的 Unicode 字符),你可以用String#[@iterator]使用代码点的事实,你可以使用它toLocaleUpperCase获取区域设置正确的大写:
  u' a+ {7 E. M/ M5 Y- z" j
    const capitalizeFirstLetter = ([ first,...rest ],locale = navigator.language) =>  first.toLocaleUpperCase(locale)   rest.join('')console.log(  capitalizeFirstLetter('foo// Foo  capitalizeFirstLetter("????????????"),// "????????????" (correct!)  capitalizeFirstLetter("italya",'tr // talya" (correct in Turkish Latin!))
    ' G' k) i& f  |: b' D- `6 A
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则