本文实例讲述了Js生成随机数/随机字符串的方法。分享给大家供大家参考,具体如下:
第一种:使用randomString,e表示长度,默认32位
function randomString(e) { e = e || 32; var t = "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678", a = t.length, n = ""; for (i = 0; i < e; i++) n += t.charAt(Math.floor(Math.random() * a)); return n } alert(randomString(6));
第二种:生成随机数
// 本例子代表生成100000-999999的随机数 function GetRandomNum(Min,Max) { var Range = Max - Min; var Rand = Math.random(); return(Min + Math.round(Rand * Range)); } var num = GetRandomNum(10000,999999); alert(num);
第三种:对定义的数组字符集进行随机选取
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; } alert(generateMixed(6));
第四种:生成随机数转成36进制,再截取部分
//Math.random() 生成随机数字, eg: 0.123456 //.toString(36) 转化成36进制 : "0.4fzyo82mvyr" //.slice(-8); 截取最后八位 : "yo82mvyr" var str = Math.random().toString(36).slice(-6); alert(str);
第五种:对字符串集合随机排列,随机输出指定的长度
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; } alert(randomString(6));
PS:这里再为大家提供几款相关在线工具供大家参考使用:
在线随机数字/字符串生成工具:
http://tools.jb51.net/aideddesign/suijishu
在线随机字符/随机密码生成工具:
http://tools.jb51.net/aideddesign/rnd_password
在线随机数生成工具:
http://tools.jb51.net/aideddesign/rnd_num
在线随机数/随机密码批量生成工具:
http://tools.jb51.net/aideddesign/rnd_pwd_tool
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结》
希望本文所述对大家JavaScript程序设计有所帮助。