本文最后更新于709 天前,其中的信息可能已经过时,如有错误请发送邮件到97376394@qq.com
1、第一种:使用randomString,e表示长度,默认32位
[precode]
function randomString(e) { var e = e || 32, t = "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678", a = t.length, n = ""; for (i = 0; i < e; i++) n += t.charAt(Math.floor(Math.random() * a)); return n } randomString(6); [/precode]
2、生成随机数:
原理是随机数和最大值减最小值的差相乘,最后再加上最小值
[precode]
// 代表生成100000-999999的随机数function GetRandomNum(Min,Max){ var Range = Max - Min; var Rand = Math.random(); return (Min + Math.round(Rand * Range)); } GetRandomNum(10000,999999); [/precode]
3、对定义的数组字符集进行随机选取
[precode]
var str = ['0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z']; function generateMixed(n) { var res = ""; for(var i = 0; i < n ; i ++) { var id = Math.ceil(Math.random()*35); res += str[id]; } return res; } generateMixed(6); [/precode]
4、生成随机数转成36进制,再截取部分
[precode]
//Math.random() 生成随机数字, eg: 0.123456//.toString(36) 转化成36进制 : "0.4fzyo82mvyr"//.slice(-8); 截取最后八位 : "yo82mvyr"var str = Math.random().toString(36).slice(-6);
[/precode]
5、对字符串集合随机排列,随机输出指定的长度
[precode]
function randomString(length) { var str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; var result = ''; for (var i = length; i > 0; --i) { result += str[Math.floor(Math.random() * str.length)]; } return result; } randomString(6);