字符串转驼峰函数
例如:border-left-width -> borderLeftWidth
1 // 一般方法 2 function fnToCamel(str){ 3 var arr = str.split('-'), 4 len = arr.length, 5 i; 6 for(var i = 1; i < len; i++){ 7 arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].substring(1); 8 } 9 return arr.join(''); // 注意空字符串 默认是逗号10 }11 // 正则12 function fnToCamelRE(str){13 var re = /-(\w)/g;14 return str.replace(re, function(arg0, arg1){15 return arg1.toUpperCase();16 });17 }
字符串中获取出现次数最多的字符和次数
1 // 一般方法 2 function fnGetMost(str){ 3 var obj = {}, 4 len = str.length, 5 num = 0, 6 i, 7 char; 8 9 for(var i = 0; i < len; i++){10 if(obj[str[i]]){11 obj[str[i]].push(str[i]);12 }else{13 obj[str[i]] = [str[i]];14 }15 }16 17 for(i in obj){18 if(num < obj[i].length){19 num = obj[i].length;20 char = obj[i][0];21 }22 }23 24 return {25 char: char,26 num: num27 };28 }29 30 // 正则31 function fnGetMostRE(str){32 var arr = str.split(''),33 re = /(\w)\1+/,34 num = 0,35 char;36 37 arr.sort();38 str = arr.join('');39 40 str.replace(re, function(arg0, arg1){41 if(arg0.length > num){42 num = arg0.length;43 char = arg1;44 }45 });46 47 return {48 char: char,49 num: num50 };51 }
给字符串加千分符
例如:1234567890 -> 123,456,789
1 // 一般方法 2 function fnGetThousand(str){ 3 var len = str.length, 4 num = len % 3, 5 arr = [], 6 i; 7 8 if(num > 0){ // 将字符串开始的多余字符先作为整体放入数组中 9 arr.push(str.substring(0, num));10 }11 12 str = str.substring(num); // 去掉多余的字符13 len = str.length;14 15 for(i = 0; i < len; i += 3){ // 三个一位存入数组16 arr.push(str.substr(i, 3));17 }18 return arr.join();19 }20 21 // 正则22 function fnGetThousandRE(str){23 var re = /(?=(?!\b)(\d{3})+$)/g;24 25 return str.replace(re, ',');26 }