将字符串转换为驼峰格式

题目描述

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): 含有一个字母字符
33     (\w): 含有一个或多个的字母字符
34     ^\- :^为开头字符,以-开头的字符串
35     */
36     return sName.replace(/(?!^)\-(\w)(\w+)/g , function(a,b,c){
37                          return b.toUpperCase() + c.toLowerCase();
38                          }).replace(/^\-/,'');
39 }            

来源:牛客网

猜你喜欢

转载自www.cnblogs.com/daheiylx/p/9001559.html