JavaScript生成随机数与随机字符串的5种实现方案

作者:异步漫步时间:2026-10-23 19:03:38浏览:349

本文汇总了JavaScript中生成随机数和随机字符串的五种常见方法,包括基于字符集遍历、数值范围计算、进制转换截取及数组洗牌等技巧,并附带在线生成工具推荐,帮助开发者快速掌握不同场景下的随机数据生成方案。

JavaScript生成随机数与随机字符串的5种实现方案

本文整理了JavaScript中生成随机数与随机字符串的多种实现方式,供开发者参考使用。

基于字符集遍历的随机字符串生成

第一种方法:通过自定义函数 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() 生成随机小数,转换为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));

相关在线工具推荐

此外,本文还提供了几个相关的在线工具供读者直接使用:

在线随机数字/字符串生成工具: 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编程有所帮助。

作者最新文章