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