JavaScript字符串大小写转换最推荐使用toLowerCase()和toUpperCase(),它们不修改原字符串、兼容性好;需本地化时用toLocaleLowerCase()/toLocaleUpperCase();部分转换需组合其他API实现。

JavaScript 中字符串大小写转换最常用、最推荐的方式就是直接调用内置方法 toLowerCase() 和 toUpperCase()。它们简单、可靠、兼容性好,覆盖绝大多数实际需求。
基础大小写转换:两个核心方法
这两个方法不修改原字符串,而是返回新字符串,符合 JavaScript 字符串不可变的特性。
-
转小写:用
str.toLowerCase()—— 适合统一邮箱存储、忽略大小写的搜索匹配(比如把用户输入和数据库字段都转小写再比对) -
转大写:用
str.toUpperCase()—— 常用于标题展示、按钮文案、导出文件名标准化等场景 - 注意:它们只影响英文字母,数字、符号、中文、空格等保持原样
需要本地化处理时考虑 toLocaleXXX 方法
对于土耳其语、立陶宛语等少数语言,字母大小写映射规则与英语不同(例如土耳其语中 “i” 的大写是 “İ”,不是 “I”)。这时应使用:
Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。
-
str.toLocaleLowerCase()和str.toLocaleUpperCase() - 它们会根据运行环境的
Intl设置自动适配本地规则 - 普通场景下,
toLowerCase()和toLocaleLowerCase()返回结果一致;有国际化需求时优先选带 locale 的版本
实现更精细的格式控制
内置方法只能全量转换,若需部分处理(如首字母大写、奇偶位交替),就得组合其他 API:
立即学习“Java免费学习笔记(深入)”;
-
每个单词首字母大写:
str.toLowerCase().split(' ').map(w => w[0].toUpperCase() + w.slice(1)).join(' ') -
仅反转大小写(a→A,A→a):可用
replace()配合正则,或遍历字符判断 ASCII 码(65–90 是大写 A–Z,97–122 是小写 a–z) -
保留非字母字符位置,只转换字母:正则
/[a-zA-Z]/g可精准捕获字母再逐个处理
实际使用注意事项
看似简单,但容易踩坑:
- 方法返回新字符串,别忘了赋值或链式使用,原变量不会变
- 空字符串、
null、undefined调用会报错,建议先做类型检查或用可选链str?.toLowerCase() - 性能无须担心——这些是引擎级优化的原生方法,比手写循环快得多

















