大小写转换器
一键在大写、小写、标题格式、句子格式、camelCase、PascalCase、snake_case、kebab-case 等格式之间转换文本。
camelCase、PascalCase、snake_case、kebab-case 和 CONSTANT_CASE 都会先把你的文本拆分成单词(处理空格、标点符号以及已有的 camelCase 边界),然后按目标格式重新拼接,因此在这些格式之间互相转换在任何方向上都能干净地完成。
工作原理
每个按钮都是一个纯 JavaScript 字符串转换函数,在每次按键时重新运行一次。大写和小写只需一行代码,但程序员常用的格式(camelCase、snake_case、kebab-case、PascalCase、CONSTANT_CASE)都共享一个先拆词的步骤:一个正则表达式会在小写字母或数字后紧跟大写字母的位置插入边界,然后文本会在任意一段非字母数字字符处被拆分。一旦输入变成了一份干净的单词列表,按目标风格重新拼接就变得非常简单,这就是为什么你可以按任意顺序在 kebab-case、PascalCase、snake_case 之间转换,而不会积累出垃圾结果。
有一个值得了解的小细节:连续的大写字母会被当作一个单词处理。拆分逻辑只会在小写字符和大写字符之间断开,所以 APIKey 在 snake_case 中会变成 apikey,而不是 api_key。如果你的标识符中包含缩写词,转换后请检查这些位置。标题格式比简单地把每个单词首字母大写要更智能:除非位于文本开头,否则它会让 "a"、"the"、"of"、"in" 这类小词保持小写,而句子格式只在 .、!、? 之后才大写。
这一切都发生在页面自身的 JavaScript 中,不依赖任何库,也没有服务器参与。输入时打开开发者工具的 Network 标签页:没有任何内容被发送,因为根本没有可以发送的目标。