将字符串转换为驼峰格式

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 }            

来源:牛客网

以上是关于将字符串转换为驼峰格式的主要内容,如果未能解决你的问题,请参考以下文章

Java将json中key值下划线转为驼峰格式

将连字符转换为驼峰式 (camelCase)

求助:word中将下划线的字符转成驼峰格式

js连字符转驼峰

将任何字符串转换为驼峰式大小写

将驼峰写法的单词转换为下划线分割的单词