String.prototype.toLocaleUpperCase()

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

toLocaleUpperCase() 方法用于将 String 值转换为大写,遵循任何特定于区域设置的大小写映射规则。

试一试

const city = "istanbul";

console.log(city.toLocaleUpperCase("en-US"));
// Expected output: "ISTANBUL"

console.log(city.toLocaleUpperCase("TR"));
// Expected output: "İSTANBUL"

语法

js
toLocaleUpperCase()
toLocaleUpperCase(locales)

参数

locales 可选

一个带有 BCP 47 语言标签的字符串,或者一个此类字符串的数组。指示用于根据任何特定于区域设置的大小写映射将字符串转换为大写的区域设置。有关 locales 参数的通用形式和解释,请参阅 Intl 主页面上的参数说明

与其他使用 locales 参数的方法不同,toLocaleUpperCase() 不允许进行区域设置匹配。因此,在检查 locales 参数的有效性后,toLocaleUpperCase() 始终使用列表中的第一个区域设置(如果列表为空,则使用默认区域设置),即使该区域设置不受实现支持。

返回值

一个新字符串,表示调用该方法的字符串已根据任何特定于区域设置的大小写映射转换为大写。

描述

toLocaleUpperCase() 方法返回根据任何特定于区域设置的大小写映射转换为大写的字符串值。toLocaleUpperCase() 不会影响字符串本身的值。在大多数情况下,这将产生与 toUpperCase() 相同的结果,但对于某些区域设置,例如土耳其语,其大小写映射不遵循 Unicode 中的默认大小写映射,可能会有不同的结果。

还要注意,转换不一定是 1:1 的字符映射,因为某些字符在转换为大写时可能会产生两个(甚至更多)字符。因此,结果字符串的长度可能与输入长度不同。这也意味着转换不是稳定的,例如,以下表达式可能会返回 falsex.toLocaleLowerCase() === x.toLocaleUpperCase().toLocaleLowerCase()

示例

使用 toLocaleUpperCase()

js
"alphabet".toLocaleUpperCase(); // 'ALPHABET'

"Gesäß".toLocaleUpperCase(); // 'GESÄSS'

"i\u0307".toLocaleUpperCase("lt-LT"); // 'I'

const locales = ["lt", "LT", "lt-LT", "lt-u-co-phonebk", "lt-x-lietuva"];
"i\u0307".toLocaleUpperCase(locales); // 'I'

规范

规范
ECMAScript® 2026 语言规范
# sec-string.prototype.tolocaleuppercase
ECMAScript® 2026 国际化 API 规范
# sup-string.prototype.tolocaleuppercase

浏览器兼容性

另见