当前位置:首页 > JavaScript

js实现驼峰

2026-04-03 19:47:39JavaScript

实现字符串驼峰化的方法

使用正则表达式和字符串替换

通过正则表达式匹配字符串中的连字符或下划线,并将其后的字母转换为大写。移除所有非字母数字字符后,将首字母转为小写(小驼峰)或大写(大驼峰)。

function toCamelCase(str, isPascalCase = false) {
  return str.replace(/[-_]+(.)?/g, (_, c) => 
    c ? c.toUpperCase() : ''
  ).replace(/^./, firstChar => 
    isPascalCase ? firstChar.toUpperCase() : firstChar.toLowerCase()
  );
}

使用数组操作和字符转换

将字符串按分隔符拆分为数组,处理每个单词的首字母大小写后拼接成新字符串。

js实现驼峰

function toCamelCase(str, isPascalCase = false) {
  const words = str.split(/[-_]/);
  return words.map((word, i) => 
    i === 0 && !isPascalCase 
      ? word.toLowerCase() 
      : word.charAt(0).toUpperCase() + word.slice(1).toLowerCase()
  ).join('');
}

处理边界情况

空字符串或非字符串输入时返回原值,处理连续分隔符和数字开头的字符串。

js实现驼峰

function toCamelCase(str, isPascalCase = false) {
  if (typeof str !== 'string') return str;
  if (!str.trim()) return str;

  return str
    .replace(/^[^a-zA-Z]+/, '')
    .replace(/[-_]+(.)?/g, (_, c) => 
      c ? c.toUpperCase() : ''
    )
    .replace(/^./, firstChar => 
      isPascalCase ? firstChar.toUpperCase() : firstChar.toLowerCase()
    );
}

性能优化版本

对于长字符串处理,使用一次正则替换完成所有转换。

function toCamelCase(str, isPascalCase = false) {
  return str.replace(
    /(^|[-_])([a-z])/g, 
    (_, prefix, char) => char.toUpperCase()
  ).replace(/^./, firstChar => 
    isPascalCase ? firstChar : firstChar.toLowerCase()
  );
}

TypeScript 类型安全版本

添加类型注解确保输入输出类型正确。

function toCamelCase(str: string, isPascalCase: boolean = false): string {
  return str.replace(/[-_]+(.)?/g, (_, c) => 
    c ? c.toUpperCase() : ''
  ).replace(/^./, firstChar => 
    isPascalCase ? firstChar.toUpperCase() : firstChar.toLowerCase()
  );
}

标签: 驼峰js
分享给朋友:

相关文章

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

js实现验证

js实现验证

验证表单输入 使用JavaScript验证表单输入是常见的需求。可以通过监听表单提交事件,检查输入字段是否符合要求。 document.getElementById('myForm').addEve…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js实现自举

js实现自举

实现 JavaScript 自举的方法 JavaScript 自举(Bootstrap)通常指通过 JavaScript 动态加载自身或依赖的脚本,实现运行时环境的初始化或扩展。以下是几种常见实现方式…

js实现 功能

js实现 功能

在 JavaScript 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…