Constant 大小写转换器:七种命名风格一键互转

Constant大小写转换器 把变量名或一句普通文本,按七种常量命名风格互相转换:UPPER_SNAKE、lower_snake、camelCase、PascalCase、kebab-case、UPPERCASE、lowercase。规则是先按空白、标点、连字符切词,再去空拼装。全程在浏览器本地计算,不联网也不上传,打开即带示例,结果可被手算复核。

上方已带默认示例,默认风格 UPPER_SNAKE,结果区显示 USER_LOGIN_COUNT;在输入框按 Ctrl 或 Cmd 加回车也能立即转换。结果区与下方「完整示例」都由同一套切词拼装逻辑得出,可手算复核。

使用方法

  1. 打开页面默认就带示例:输入框里是「user login count」,风格选「UPPER_SNAKE」,结果区已经显示 USER_LOGIN_COUNT,你不需要先输入任何东西。
  2. 把要转换的文本或变量名粘进输入框,选择目标风格:七种之一。
  3. 在输入框里按 Ctrl 加回车(Mac 上是 Cmd 加回车)也能立即转换,不必点按钮;结果区是当场算出来的,不是固定文案。
  4. 点「转换」按钮,页面先把输入按空白、标点、连字符切成词,再按所选风格拼装;点「复制结果」把当前风格的结果复制到剪贴板。
  5. 输入为空时会点名当前字段提示你补全,不会硬凑出一个空串,避免你误以为转换成功。
  6. 本页不联网、不写本地存储,刷新即回到默认示例,所有转换都在你自己的浏览器里完成,输入内容不会离开设备。

这个 Constant大小写转换器 能解决什么

Constant大小写转换器 解决的是「同一概念要在不同语言规范里换写法」这个日常痛点。后端常量多用 UPPER_SNAKE,前端变量多用 camelCase,CSS 类名常用 kebab-case,数据库字段又偏好 lower_snake,手动改写既慢又容易拼错大小写。本工具一次给出七种写法,复制即用。

第一类用途是跨语言重构与对接。当你把一段 Python 代码搬到 JavaScript,或把接口字段从下划线命名改成驼峰,逐个字改既费眼又易漏;本工具贴进去立即拿到全部风格,挑对应那列复制即可。

第二类用途是团队命名规范统一。新人写常量常分不清该用哪种风格,把候选词丢进来,七种结果并列展示,规范一眼可查,也便于 code review 时对照。

第三类用途是教学与记忆。很多人记不住 camelCase 与 PascalCase 的区别、搞不清 kebab 与 snake 的分隔符;对照表把同一词根的七种形态摆在一起,看一遍就记住规律。

第四类用途是批量生成配置键。写环境变量、配置项、枚举名时,先用自然语言列清单,再统一转成 UPPER_SNAKE 或 lower_snake,效率和一致性都更高。理解这套「切词加拼装」的方法论后,你也能把它迁移到自己脚本里。

第五类用途是文档与教程里的命名示例。写技术文档、录教学视频时,常常需要把同一个概念同时展示七种写法,读者才能直观对比差异。本工具把七种结果并排输出,截图或复制都方便,省去逐一手动改大小写的琐碎。

第六类用途是接口联调时的字段对齐。前后端约定字段命名时,经常出现前端用 camelCase、后端用 lower_snake 的错位,导致解析取不到值。把字段名丢进来双向转换,双方立即拿到对方期望的写法,能减少大量低级联调错误,新人也能快速对齐规范。

第七类用途是教学演示里的反例对照。讲命名规范时,学生常把 snake 和 kebab 搞混,把 camel 和 Pascal 混用。本工具把七种写法同时列在一处,配合下方完整对照表,能直观看到同一词根在不同风格下的真实差异,比口头解释更省力,也便于整理成教学材料。

值得一提的是,本页所有转换都在本地完成,不联网也不上传。你可以放心粘贴项目里的真实变量名,结果不会被任何服务器记录,这点和需要登录的在线转换站不同,更适合处理私密代码。

原理和变量

Constant大小写转换器 的核心是「切词加拼装」,不含随机成分,因此同一段输入永远得到同一组输出,可被手算复核。先按正则 /[\s_\-]+/ 把输入切成词并去掉空串,每个词统一小写化作为基础;再按风格拼装:UPPER_SNAKE 全大写加下划线,lower_snake 全小写加下划线,camelCase 首词全小、其余词首字母大写,PascalCase 每词首字母大写,kebab-case 全小写加短横,UPPERCASE 全大写无分隔,lowercase 全小写无分隔。

为什么要先切词再拼装?因为不同风格的差异只在「分隔符」与「首字母大小写」两处,先拿到干净的词根,后面只是套规则。下面变量表说明各环节含义,方便你对照手算。

变量含义说明
raw原始输入文本或变量名
words切出的词按空白、标点、连字符切并去空
style目标风格七选一
sep分隔符_ 或 - 或无
cap首字母规则全小、首大、全大

完整示例

下面这组示例全部由页面算法原样得出,可直接对照你的手算。输入「user login count」,切词得 [user, login, count]:UPPER_SNAKE = USER_LOGIN_COUNT,lower_snake = user_login_count,camelCase = userLoginCount,PascalCase = UserLoginCount,kebab-case = user-login-count,UPPERCASE = USERLOGINCOUNT,lowercase = userlogincount。与上方结果区、下方卡片和对照表完全自洽,全程无随机、可逐字复核。如果你把输入换成「my variable name」,七种结果会同步变化,但拼装规则始终不变,这正是切词加拼装思路稳定可靠的体现。

如果你想验证手算,只要把输入按空格、下划线、连字符拆成词,再按上面的规则套首字母大小写与分隔符,必然和本工具一致。这个切词法也是你在不支持本页的环境里手动复现结果的可靠办法。

UPPER_SNAKE
USER_LOGIN_COUNT
camelCase
userLoginCount
kebab-case
user-login-count
PascalCase
UserLoginCount
lower_snake
user_login_count
UPPERCASE
USERLOGINCOUNT
示例输入:user login count(默认风格 UPPER_SNAKE)
USER_LOGIN_COUNT
lower_snake:user_login_count
camelCase:userLoginCount
PascalCase:UserLoginCount
kebab-case:user-login-count
UPPERCASE:USERLOGINCOUNT
lowercase:userlogincount

七种风格对照表

下表列出常见输入对应的七种风格结果(共 14 行),前 12 行直接展示,点「加载更多」展开剩余项。你可以一键导出 CSV(带 BOM,Excel 直接认中文)或复制 TSV 粘进表格软件。表里所有结果都由本页同一逻辑得出,无随机、可复核。

输入UPPER_SNAKElower_snakecamelCasePascalCasekebab-caseUPPERCASElowercase
user login countUSER_LOGIN_COUNTuser_login_countuserLoginCountUserLoginCountuser-login-countUSERLOGINCOUNTuserlogincount
my variable nameMY_VARIABLE_NAMEmy_variable_namemyVariableNameMyVariableNamemy-variable-nameMYVARIABLENAMEmyvariablename
get user idGET_USER_IDget_user_idgetUserIdGetUserIdget-user-idGETUSERIDgetuserid
order total priceORDER_TOTAL_PRICEorder_total_priceorderTotalPriceOrderTotalPriceorder-total-priceORDERTOTALPRICEordertotalprice
api response dataAPI_RESPONSE_DATAapi_response_dataapiResponseDataApiResponseDataapi-response-dataAPIRESPONSEDATAapiresponsedata
first nameFIRST_NAMEfirst_namefirstNameFirstNamefirst-nameFIRSTNAMEfirstname
last login timeLAST_LOGIN_TIMElast_login_timelastLoginTimeLastLoginTimelast-login-timeLASTLOGINTIMElastlogintime
product sku codePRODUCT_SKU_CODEproduct_sku_codeproductSkuCodeProductSkuCodeproduct-sku-codePRODUCTSKUCODEproductskucode
current user countCURRENT_USER_COUNTcurrent_user_countcurrentUserCountCurrentUserCountcurrent-user-countCURRENTUSERCOUNTcurrentusercount
max file sizeMAX_FILE_SIZEmax_file_sizemaxFileSizeMaxFileSizemax-file-sizeMAXFILESIZEmaxfilesize
new order listNEW_ORDER_LISTnew_order_listnewOrderListNewOrderListnew-order-listNEWORDERLISTneworderlist
search result pageSEARCH_RESULT_PAGEsearch_result_pagesearchResultPageSearchResultPagesearch-result-pageSEARCHRESULTPAGEsearchresultpage
old cache keyOLD_CACHE_KEYold_cache_keyoldCacheKeyOldCacheKeyold-cache-keyOLDCACHEKEYoldcachekey
retry count limitRETRY_COUNT_LIMITretry_count_limitretryCountLimitRetryCountLimitretry-count-limitRETRYCOUNTLIMITretrycountlimit

结果边界与错误提示

常见问题

camelCase 和 PascalCase 有什么区别?

只差首词首字母:camelCase 首词全小写(如 userLoginCount),PascalCase 每词首字母都大写(如 UserLoginCount)。本工具严格按此规则转换,不会混用。

为什么结果每次都一样,没有随机?

本工具是纯切词加拼装,不含随机算法,同一段输入必然得到同一组输出。这样你才能在别处手算复核,也方便多文件保持命名一致。

kebab-case 和 lower_snake 只是分隔符不同吗?

对,两者都全小写,区别仅在于分隔符:kebab 用短横「-」,snake 用下划线「_」。本工具按对应规则拼装,结果可直接用于 CSS 类名或数据库字段。

输入里有下划线会怎样?

下划线被视为分隔符,会参与切词。例如「user_login_count」会被切成 [user, login, count],再按所选风格重拼,所以你也能用它来把一种风格转成另一种。

UPPERCASE 没有分隔符会不会难读?

会,但这是该风格的预期形态,常见于宏与常量定义。若你需要可读性,建议用 UPPER_SNAKE 保留下划线;本工具两种都给,按需复制。

我的变量名会上传吗?

不会。所有文本只在浏览器本地转换,不联网、不写存储,刷新即还原默认示例,没有任何数据离开你的设备,可以放心粘贴项目真实命名。

导出的 CSV 为什么带 BOM?

因为 Excel 打开无 BOM 的 UTF-8 文件时常把中文显示成乱码,BOM 能让 Excel 正确识别编码。TSV 复制走剪贴板不经文件,所以不需要 BOM。

能批量转很多词吗?

本页一次处理一个短语。若需批量,把多组词分行或分次处理即可;理解「切词加拼装」的方法论后,你也能把它写成脚本批量跑。

相关工具