1 中划线转驼峰

说明:不区分大小写,一律转换为驼峰。默认转为小驼峰。

转换示例:
t-button-test-1 => tButtonTest1
t-Button-Test-1 => tButtonTest1
Test-BUTTON-test-1 => testButtonTest1
TEST-BUTTON-TEST-1 => testButtonTest1

/*** 将中划线字符转换为驼峰字符,默认转为小驼峰。* @param {string} str 需要转换的字符* @param {number} num 转换后的类型,默认值1(0是大驼峰  1是小驼峰)* @returns  示例:t-button-test-1 => tButtonTest1*/
function formatConversion(str:string, num:number = 0) {const arr = str.split('-');for (let i = 0; i < arr.length; i += 1) {if (i === 0 && num === 1) {arr[i] = arr[i].charAt(0).toLowerCase() + arr[i].substring(1).toLowerCase();} else {arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].substring(1).toLowerCase();}}return arr.join('');
}console.log(formatConversion('t-button-test-1')); // tButtonTest1
console.log(formatConversion('t-Button-Test-1')); // tButtonTest1
console.log(formatConversion('Test-BUTTON-test-1')); // testButtonTest1
console.log(formatConversion('TEST-BUTTON-TEST-1')); // testButtonTest1

2 驼峰转中划线

说明:不区分大驼峰、小驼峰,一律转换为中划线连接。

转换示例:
TButtonTest1 => t-button-test-1
tButtonTest1 => t-button-test-1
TestButtonTest1 => test-button-test1
testButtonTest1 => test-button-test1

/*** 将驼峰字符转换为中划线字符* @param {string} str 需要转换的字符* @returns 示例:TButtonTest1 => t-button-test-1*/
function formatConversion(str:string) {return str.replace(/([a-zA-Z])([A-Z])/g, '$1-$2').toLowerCase();
}console.log(formatConversion('TButtonTest1')); // t-button-test1
console.log(formatConversion('tButtonTest1')); // t-button-test1
console.log(formatConversion('TestButtonTest1')); // test-button-test1
console.log(formatConversion('testButtonTest1')); // test-button-test1

3 驼峰互转

说明:大驼峰转小驼峰、小驼峰转大驼峰。默认转为小驼峰。

转换示例:
tButtonTest1 => TButtonTest1
TButtonTest1 => tButtonTest1

/*** 大、小驼峰互转,默认转为小驼峰。* @param {string} str 需要转换的字符* @param {number} num 转换后的类型,默认值1(0是大驼峰  1是小驼峰)* @returns 示例:tButtonTest1 => TButtonTest1 ,TButtonTest1 => tButtonTest1*/
function formatConversion(str:string, num:number = 1) {if (num === 0) {return str.substr(0, 1).toUpperCase() + str.substr(1);} else {return str.substr(0, 1).toLowerCase() + str.substr(1);}
}console.log(formatConversion('TButtonTest1')); // tButtonTest1
console.log(formatConversion('tButtonTest1', 0)); // TButtonTest1

命名转小驼峰大驼峰中划线相关推荐

  1. 小驼峰大驼峰的写法规范

    编程中关于小驼峰大驼峰也有一套规范,比如有一个变量为:myfirstname 小驼峰命名规则:第一个单词小写,其他单词首字母大写 写法如:myFirstName 大驼峰命名规则:第一个单词首字母大写, ...

  2. 命名规则之大驼峰命名法和小驼峰命名法

    大驼峰命名规则又称骆驼式命名法(Camel-Case),是电脑程式编写时的一套命名规则(惯例).是指混合使用大小写字母来构成变量和函数的名字. 程序员们为了自己的代码能更容易的在同行之间交流,所以多采 ...

  3. 【命名规则】小驼峰?大驼峰?

    大驼峰小驼峰都不知道的我应该算是真的菜狗小白了吧555555555 小驼峰法(LowerCamelCase)   (变量) 除第一个单词之外,其他单词首字母大写. 例如:myTinyHorse 下面是 ...

  4. Java基础语法之变量作用域、小大驼峰命名规则和java运算符(赋值、关系、三元、逻辑运算符)

    文章目录 一.变量定义的注意事项及作用域 二.键盘输入 三.Java运算符 1.运算符与表达式 2.算数运算符 3.自增.自减运算符 4.赋值运算符 5.关系运算符 6.三元运算符 7.逻辑运算符 一 ...

  5. 编程命名规则(网摘整理):帕斯卡命名法,骆驼命名法(小驼峰式大驼峰式),匈牙利命名法

    1 帕斯卡命名法(Pascal) 也称为"大驼峰式命名法".即多个单词拼接,所有单词首字母均大写.如FirstName. 2 骆驼命名法-小驼峰 多个单词拼接,单词首字母大小,首个 ...

  6. java中驼峰编码,驼峰式命名法_小驼峰式命名法编程_java中getter和setter

    人们交流靠各种语言,每行都有每行的所谓的"行话".程序员也不例外,众所周知,程序员都是用代码进行交流的.那么除了在代码中的注释之外, 程序员如何读懂别人的程序呢? 当然,程序员之间 ...

  7. JAVA(4)学习笔记:JVM虚拟机上的栈、大驼峰命名法和小驼峰命名法、实参和形参、重载方法、调用栈、递归练习(汉诺塔+斐波那契数列)、数组的定义、数组的初始化、增强for循环。

    接上次的博客:JAVA学习(3)--知识整理以及一些简单程序(猜数字游戏.求各种自幂数.求出一个数字的二进制位中1的个数.获取一个数二进制序列中所有的偶数位和奇数位.求公约数的多种实现方式.输入密码程 ...

  8. 大驼峰命名法和小驼峰命名法

    前言 我们在做项目的时候,命名格式必须统一,这样才会方便不同人之间的编码阅读!,所以今天就来说一下驼峰命名法! 骆峰式命名法(Camel-Case)是电脑程式编写时的一套命名规则(惯例). 骆峰式命名 ...

  9. 小驼峰命名法(lower camel case)和大驼峰命名法(upper camel case)

    1.小驼峰式命名法(lower camel case): 第一个单词以小写字母开始,第二个单词的首字母大写.例如:firstName.lastName. 2.大驼峰式命名法(upper camel c ...

最新文章

  1. 理解 Delphi 的类(十) - 深入方法[23] - 重载
  2. C#中更改DataTable某列的值,格式化显示指定列的数据
  3. OpenGL之常见的专业名词解析
  4. C#语言基础— 输入与输出
  5. [cogs1065]绿豆蛙的归宿
  6. 有关代码段、数据段、BOSS段、堆、栈的存储位置问题。。。
  7. python 当前目录_Python中的搜索路径顺序
  8. 多层动态库的编译及使用
  9. oracle客户端 centos,Centos7-安装oracle客户端11.2.0.4
  10. linux slf4j找不到,slf4j+log4j2在tomcat8 下无日志输出
  11. css属性百分比与px相加减
  12. DSSM模型的原理简介,预测两个句子的语义相似度
  13. rust 手动关闭子线程_Rust入坑指南:齐头并进(上)
  14. 极域课堂管理系统软件如何取消控制_微缔电子组装业MES系统软件六大功能组成...
  15. 微信公众平台开发者模式和编辑模式有什么用
  16. kindle mysql_MySQL(二) MySQL基本操作
  17. android 平板root,安卓平板电脑怎么root 安卓平板一键root方法
  18. [ble_mesh]3.9 Mesh beacon
  19. 2019 年第 33 周 DApp 影响力排行榜 | TokenInsight
  20. 新世纪五笔 形码之耻_世纪之剑

热门文章

  1. 使用Helm在k8s集群上部署以太坊私有链
  2. DNF 单机游戏 手机游戏 网络游戏 推荐游戏 TXT 小说 外挂 辅助
  3. 使用pytorch搭建AlexNet网络模型
  4. 网络保护第三层 WAF-网络应用防火墙
  5. SSH——Hibernate初学者之旅(五)
  6. IOS调起app的终极方法:Universal Links
  7. 打造企业级云深度学习平台——小米云深度学习平台的架构设计与实现
  8. 55-经典问题分析四
  9. 基于CUDA的医学影像数据处理工作站的配置方法
  10. springboot+hutool批量生成二维码压缩导出