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; }); } }