将字符串转换为驼峰格式
Posted 大黑ylx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将字符串转换为驼峰格式相关的知识,希望对你有一定的参考价值。
题目描述
css 中经常有类似 background-image 这种通过 - 连接的字符,通过 javascript 设置样式的时候需要将这种样式转换成 backgroundImage 驼峰格式,请完成此转换功能
1. 以 - 为分隔符,将第二个起的非空单词首字母转为大写
2. -webkit-border-image 转换后的结果为 webkitBorderImage
1 //第一种方法
2 function cssStyle2DomStyle(sName) {
3 var str = sName.split("-");
4 //console.log(str);
5 var result = "";
6 var one = "";
7 var i;
8 if(str[0] == ""){
9 for( i =2 ; i<str.length ; i++){
10 one = "";
11 one += str[i].charAt(0);
12 result += (one.toLocaleUpperCase()+str[i].slice(1));//slice(index):取index位置的字符直到结束
13 //console.log(result);
14 }
15 result = str[1] + result;
16 }
17 else {
18 for( i =1 ; i<str.length ; i++){
19 one = "";
20 one += str[i].charAt(0);
21 result += (one.toLocaleUpperCase()+str[i].slice(1));//slice(index):取index位置的字符直到结束
22 }
23 result = str[0] + result;
24 }
25 return result;
26 }
27 //第二种方法(参考别人的代码)
28 function cssStyle2DomStyle(sName) {
29 /*
30 (?!^) : 反向引用, 字符串开头除外的意思
31 \\- : \\为转义字符 ,含有-字符
32 (\\w): 元字符用于查找非单词字符。单词字符包括:a-z、A-Z、0-9,以及下划线
33 (\\w): 含有一个或多个的字母字符
34 ^\\- :^为开头字符,以-开头的字符串
35 */
36 return sName.replace(/(?!^)\\-(\\w)(\\w+)/g , function(a,b,c){
37 return b.toUpperCase() + c.toLowerCase();
38 }).replace(/^\\-/,\'\');
39 }
来源:牛客网
以上是关于将字符串转换为驼峰格式的主要内容,如果未能解决你的问题,请参考以下文章