js小技巧

1.生成myMin和myMax之间的随机数

function randomRange(myMin, myMax) {

  return Math.floor(Math.random() * (myMax - myMin + 1)) + myMin; // 生成myMin和myMax之间的数

}

 

2.正则匹配

(1)匹配数字

        
var testString = "There are 3 cats but 4 dogs.";

var expression = /\d+/g;  //数字选择器\d,加号标记(+)它允许这个正则表达式匹配一个或更多数字
 
var digitCount = testString.match(expression).length;

(2)匹配空白

       空白字符有 " " (空格符)、\r (回车符)、\n (换行符)、\t(制表符) 和 \f (换页符)。

var expression = /\s+/g;  //\s 来选择一个字符串中的空白。

 (3)转化匹配

      可以用正则表达式选择器的大写版本 来转化任何匹配。

var expression = /\S/g;  //匹配非空白字符

(4)去除字符串中所有的标点符号

  var str  = "0_0 (: /-\ :) 0-0";
  var newstr = str.replace(/[\ |\~|\`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\||\\|\[|\]|\{|\}|\;|\:|\"|\'|\,|\<|\.|\>|\/|\?]/g,"");   
        console.log(newstr);  //0000

3.字符串和数组相互转换

function reverseString(str) {
            var test = str.split('').reverse().join('');
            return test;
        }

将字符串先转换为数组(split()),然后反转数组(reverse()),最后将数组转换为字符串(join())。

4.阶乘

function factorialize(num) {
  if(num === 0){
    return 1;
  }else{
  var arr = [];
 for(var i=1; i<num+1; i++){
   arr.push(i);
 }
  return arr.reduce(function(pre,now){
    return pre*now;
  });
 
  }
}

 

posted @ 2016-09-21 14:00  王永峰的博客  阅读(158)  评论(0编辑  收藏  举报