当前位置:首页 > 未分类

Js生成随机数/随机字符串的5种方法

admin1年前 (2024-11-20)未分类17647

Js生成随机数/随机字符串的5种方法:


方法1:使用randomString


function randomString(e) {
  e = e || 8;  // e表示长度,默认8位
  let t = "ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz2345678",
  a = t.length,
  n = "";
  for (i = 0; i < e; i++){
    n += t.charAt(Math.floor(Math.random() * a));
  }
  return n;
}
console.log(randomString(6));


方法2:使用随机数

function GetRandomNum(Min,Max){
   let Range = Max - Min;
   let Rand = Math.random();
   return(Min + Math.round(Rand * Range));
}
let num = GetRandomNum(10000,999999);
console.log(num);


方法3:对数组字符集进行随机选取

let 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) {
   let res = "";
   for(let i = 0; i < n ; i ++) {
     let id = Math.ceil(Math.random()*35);
     res += str[id];
   }
   return res;
}
console.log(generateMixed(6));


方法4:生成随机数转成36进制,再截取部分


//Math.random() 生成随机数字, eg: 0.123456
//.toString(36) 转化成36进制 : "0.4fzyo82mvyr"
//.slice(-8); 截取最后八位 : "yo82mvyr"
let str = Math.random().toString(36).slice(-6);
console.log(str);


方法5:对字符串集合随机排列,随机输出指定的长度

function randomString(length) {
  let str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  let result = '';
  for (let i = length; i > 0; --i){
    result += str[Math.floor(Math.random() * str.length)];
  }
  return result;
}
console.log(randomString(6));


原文链接:https://www.jb51.net/article/187445.htm。侵权联删。

扫描二维码推送至手机访问。

版权声明:本文由web开发技术分享发布,如需转载请注明出处。

本文链接:https://www.htmlcmf.cn/?id=13

分享给朋友:

相关文章

css隐藏滚动条

实现css隐藏滚动条有以下几种方式:1. 使用overflow属性:将父元素的overflow属性设置为hidden,这将隐藏滚动条,并且禁用滚动功能。例如:.parent {     o…

nginx 设置某个目录只允许访问指定后缀文件

server {        listen 80;        server_name your…

npm install卡在“sill idealTree buildDeps“问题的两种解决方法

当你尝试在 Vue 项目中执行 npm install 时,你可能会遇到一个问题:命令卡在"sill idealTree buildDeps"这一步,没有任何反应。这个问题的根源在于淘宝镜像源的域名过…

nginx 阻止指定user-agent

在 Nginx 中阻止特定的 user-agent 可以通过配置 Nginx 的 if 模块或者使用 map 模块来完成。但是,需要注意的是,从 Nginx 1.1.18 开始,官方文档推荐使用 map 模块来更高效地处理这类需求,因为它避…

HTML点击跳转对应应用(邮箱、手机、微信、QQ)

1、点击邮箱号跳转到邮箱应用 (已测试)<a href="mailto:support@xxx.com">邮箱:mailto:support@xxx.com</a>2、点击手机号跳转到拨…