您的位置:首页 > 职场人生

面试准备一之正则篇

2017-02-12 09:56 148 查看
1. 将把字符串中所有单词的首字母都转换为大写。
2. 判断一个字符串中出现次数最多的字符,并统计字数。
3. 驼峰转连字符,连字符转为驼峰。
4. 价格千分位格式化,例如12233556.76675格式化之后12,233,556.76
5. 有一段字符串,var str='name=ThreePen;age=18;sex=1';编写一个函数获得参数名和参数值

---------------------------答案分割线---------------------------

1. 正则方式如下,另外,css有个属性text-transform也可以实现。

function formatStr(str){
return str.replace(/\b\w+\b/g, function(word){
return word.substring(0,1).toUpperCase()+word.substring(1);}
);
}


2.

var s = 'aaabbbcccaaabbbaaabbbbbbbbbb';
var a = s.split('');
a.sort();
s = a.join('');
var pattern = /(\w)\1*/g;
var ans = s.match(pattern);
ans.sort(function(a, b) {
return a.length < b.length;
});;
console.log(ans[0][0] + ': ' + ans[0].length);


3.

var s = "fooStyleCss";
s = s.replace(/([A-Z])/g,"-$1").toLowerCase();

var s1 = "foo-style-css";
s1 = s1.replace(/\-(\w)/g, function(all, letter){
return letter.toUpperCase();
});


4.

function formatNum(num){
return (num.toFixed(2) + '').replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,');
}


5.

function paramParse(str,name){
var reg=new RegExp(name+'=([^;]*)(;|$)');
var arr=str.match(reg);
if(arr){
return arr[1];
}else{
return null;
}
}


  

  

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Verdana }
span.s1 { }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: