JS 生成随机数和随机字符串的 5 种方法

摘要:有时候我们的项目需要生成随机数,但是又不想那么麻烦,那么我们可以使用下面这 5 种方法生成。

有时候我们的项目需要生成随机数,但是又不想那么麻烦,那么我们可以使用下面这 5 种方法生成。

第一种:使用 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); 截取最后 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://www.dedenotes.com/html/js-random.html
(1)
打赏 微信扫一扫 微信 支付宝 QQ 扫码打赏

meta

Dedenotes 赞(3)

meta 是 html 语言 head 区的一个辅助性标签,位于文档的头部,不包含任何内容,标签的属性定义了与文档相关联的名称/值对。meta 标签可提供相关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词。

HTTP消息结构 HTTP请求报文和响应报文的格式

Dedenotes 赞(3)

HTTP 协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,基于 TCP/IP 通信协议来传递数据(HTML 文件, 图片文件, 查询结果等),所有的 WWW(World Wide Web)文件都必须遵守这个标准。

防止表单重复提交的 4 种方法

Dedenotes 赞(3)

平时开发的项目中可能会出现下面这些情况:由于用户误操作,多次点击表单提交按钮;由于网速等原因造成页面卡顿,用户重复刷新提交页面;黑客或恶意用户使用 Postman 等工具重复恶意提交表单(攻击网站)。