JavaScript 範例

在 JavaScript 將 snake_case 轉為 camelCase

對可預測的 snake_case,以底線切分,第一個 token 保持小寫,後續 token 首字母大寫。

作者 Camel Case Converter 編輯團隊發布於 2026年9月12日最後審閱

JavaScript 程式碼

function snakeToCamel(value) {
  const parts = value.trim().replace(/^_+|_+$/g, "").split(/_+/).filter(Boolean)
  if (parts.length === 0) return ""
  return parts[0].toLowerCase() + parts.slice(1).map((part) => part.charAt(0).toUpperCase() + part.slice(1).toLowerCase()).join("")
}

snakeToCamel("user_profile_image")
// "userProfileImage"

移除前後底線並處理重複底線,避免產生空 token。

這種方法適合真正的 snake_case;縮寫、連字號、空白或 PascalCase 混合時需要更通用的 tokenizer。

需要考慮的邊界案例

  • API/URL 等縮寫可能需要專案特定 casing 規則。
  • user_profile-URL 這類混合輸入需要更廣泛的 tokenization。
  • 轉換單一字串與遞迴轉換物件鍵名是兩個不同問題。
  • 產生的變數名稱可能還需要檢查保留字與識別字合法性。

範例

轉換前轉換後
user_profile_imageuserProfileImage
__user__profile__userProfile
api_response_urlapiResponseUrl
created_atcreatedAt

JavaScript 程式碼

const cases = [
  ["user_profile_image", "userProfileImage"],
  ["__user__profile__", "userProfile"],
  ["api_response_url", "apiResponseUrl"],
  ["created_at", "createdAt"],
]

for (const [input, expected] of cases) {
  console.assert(snakeToCamel(input) === expected, input)
}

線上測試轉換

使用瀏覽器工具快速檢查、批次處理、縮寫或混合命名格式。

偵測:snake_case
camelCase 輸出
userProfileImageUrl

所有命名格式

camelCase
userProfileImageUrl
PascalCase
UserProfileImageUrl
snake_case
user_profile_image_url
kebab-case
user-profile-image-url
CONSTANT_CASE
USER_PROFILE_IMAGE_URL
dot.case
user.profile.image.url
path/case
user/profile/image/url

轉換會在瀏覽器本機執行,輸入不會傳送到轉換伺服器。