Math对象及相关方法

  1. Math.abs() 取绝对值
  2. Math.ceil()向上取整 (出现小数点就向上+1)
  3. Math.floor()向下取整
  4. Math.round()四舍五入
  5. Math.max(val1,val2,val3...)取最大值
  6. Math.min(val1,val2,val3...)取最小值
  7. Math.random()获取[0-1)之间的随机小数(不包含1)
  8. Math.round(Math.random()*(m-n)+n) 获取任意两个数之间的随机数

n - m 间的随机整数

function getRandom(n, m) {
    if (isNaN(n) || isNaN(m)) {
        return Math.random();
    }
    if (n > m) {
        var flag = n;
        n = m;
        m = flag
    }
    return Math.round(Math.random() * (m - n) + n);
}

取 0~100之间不重复的4个随机整数

for 循环

function rdomOnly() {
    var arr = [];
    for (var i = 0; i < 4; i++) {
        var num = Math.round(Math.random() * 100);
        if (arr.indexOf(num) === -1) {
            arr.push(num)
        } else {
            i--
        }
    }
    return arr
}

while 循环

function rdomWhile() {
    var arr = [];
    while (arr.length < 4) {
        var num = Math.round(Math.random() * 100);
        if (arr.indexOf(num) === -1) {
            arr.push(num)
        }
    }
    return arr
}
console.log(rdomWhile())

在指定字符串中取验证码

var str='abcdefgABCDEFG0123456789';
function getNumber(n,m) {
    n=Number(n);
    m=Number(m);
    if (isNaN(n)||isNaN(m)){
        return Math.random();
    }
    if(n>m){
        var temp=n;
        n=m;
        m=temp;
    }
    return Math.round(Math.random()*(m-n)+n);
}
function getCode() {
    //取随机数
    var str2='';
    for (var i=0;i<4;i++){
        var val=getNumber(0,23);
        var valStr=str.charAt(val);
        if(str2.indexOf(valStr)===-1){
            str2+=valStr;
        }else{
            i--;
        }
    }
    return str2;
}
document.write(getCode());
原文地址:https://www.cnblogs.com/Juphy/p/6958790.html