正则表达式的相关前端题目

来源:互联网 发布:windows phone 输入法 编辑:程序博客网 时间:2024/04/30 23:33

1、返回一个只包含数字类型的一个数组例如js123ldkfsf12a78sdafwer4896ssdfd653——>[123,12,78,4896,653]

var str="js123ldkfsf12a78sdafwer4896ssdfd653";

function test(str){
  var re=/([^a-zA-Z]+)/g;
  var arr=[];
  str.replace(re,function($1){
    if($1!="undefine"){
      arr.push($1);
    }
    
  })
  return arr;


}
alert(test(str));

2、写一个字符串转成驼峰的方法例如border-bottom-color——>borderBottomColor

var str="border-bottom-color";
function test(str){
  var re=/-(\w)/g;
  return str.replace(re,function($0,$1){
    return $1.toUpperCase();
  })
}

alert(test(str));

3、查找字符串中出现最多的字符和次数,例如sdjksfssscfssdd--->字符最多的为s,次数为7

var str="sdjksfssscfssdd";
function test(str){
  var arr=str.split("");
  arr.sort();
  str=arr.join("");
  var re=/(\w)\1+/g;
  var num=0;
  var value=0;
  str.replace(re,function($0,$1){
    if(num<$0.length){
      num=$0.length; 
      value=$1;
    }
  })
 return "最多的字符为:"+value+",出现了"+num+"次。";
  
}
alert(test(str));

4、给字符串添加千分符,例如3456789456-->3,456,789,456

var str="3456789456";
function test(str){
  var re=/(?=(?!\b)(\d{3})+$)/g;
  str=str.replace(re,",");
  return str;
  
}
alert(test(str));




0 0
原创粉丝点击