JS实现的生成随机数的4个函数分享


Posted in Javascript onFebruary 11, 2015

第一种方法

/*

*@desc:生成随机字符串

*@remark:toString方法可以接收一个基数作为参数的原理,这个基数从2到36封顶。如果不指定,默认基数是10进制

*/

function generateRandomAlphaNum(len) {

    var rdmString = "";

    for (; rdmString.length < len; rdmString += Math.random().toString(36).substr(2));

    return rdmString.substr(0, len);

}

第二种方法

//JS生成GUID函数,类似.net中的NewID(); 

function S4() {

    return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1);

}
function NewGuid() {

    return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + S4() + S4());

}

第三种方法

//JS生成GUID函数,类似.net中的NewID(); 

function newGuid() {

    var guid = "";

    for (var i = 1; i <= 32; i++) {

        var n = Math.floor(Math.random() * 16.0).toString(16);

        guid += n;

        if ((i == 8) || (i == 12) || (i == 16) || (i == 20))

            guid += "-";

    }

    return guid;

}

第四种方法

/*

*@desc:生成随机字符串

*@demo:console.log(ranStr());

*/

;(function(){

    //数字0-9,大写字母,小写字母,ASCII或UNICODE编码(十进制),共62个

    var charCodeIndex = [[48,57],[65,90],[97,122]];

    var charCodeArr = [];
    function getBetweenRound(min,max){

        return Math.floor(min+Math.random()*(max-min));

    };
    function getCharCode(){

        for(var i=0,len=3;i<len;i++){

            var thisArr = charCodeIndex[i];

            for(var j=thisArr[0],thisLen=thisArr[1];j<=thisLen;j++){

                charCodeArr.push(j);

            }

        }

    }
    function ranStr(slen){

        slen = slen || 20;

        charCodeArr.length<62 && getCharCode();
        var res = [];

        for(var i=0;i<slen;i++){

            var index = getBetweenRound(0,61);

            res.push(String.fromCharCode(charCodeArr[index]));

        }

        return res.join('');

    };
    this.ranStr = ranStr;

})();
Javascript 相关文章推荐
WordPress 照片lightbox效果的运用几点
Jun 22 Javascript
一个简单的js动画效果代码
Jul 20 Javascript
input 和 textarea 输入框最大文字限制的jquery插件
Oct 27 Javascript
JS getAttribute和setAttribute(取得和设置属性)的使用介绍
Jul 10 Javascript
js对图片base64编码字符串进行解码并输出图像示例
Mar 17 Javascript
bootstrapfileinput实现文件自动上传
Nov 08 Javascript
JS动态生成年份和月份实例代码
Feb 04 Javascript
详解Nuxt.js Vue服务端渲染摸索
Feb 08 Javascript
小程序云开发获取不到数据库记录的解决方法
May 18 Javascript
js tab栏切换代码实例解析
Sep 03 Javascript
详解如何在Javascript和Sass之间共享变量
Nov 13 Javascript
JS实现简单的九宫格抽奖
Jun 28 Javascript
JavaScript中的分号插入机制详细介绍
Feb 11 #Javascript
Javascript核心读书有感之语句
Feb 11 #Javascript
JavaScript数据结构和算法之二叉树详解
Feb 11 #Javascript
JavaScript中的函数模式详解
Feb 11 #Javascript
Javascript核心读书有感之表达式和运算符
Feb 11 #Javascript
JavaScript数据结构和算法之图和图算法
Feb 11 #Javascript
Javascript核心读书有感之类型、值和变量
Feb 11 #Javascript
You might like
DC《神奇女侠2》因疫情推迟上映 温子仁新恐怖片《恶性》撤档
2020/04/09 欧美动漫
php 404错误页面实现代码
2009/06/22 PHP
PHP自动补全表单的两种方法
2017/03/06 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
2018/05/28 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
javascript 可以拖动的DIV(二)
2009/06/26 Javascript
JQery 渐变图片导航效果代码 漂亮
2010/01/01 Javascript
js/jquery获取浏览器窗口可视区域高度和宽度以及滚动条高度实现代码
2012/12/17 Javascript
在页面中js获取光标/鼠标的坐标及光标的像素坐标
2013/11/11 Javascript
一款基jquery超炫的动画导航菜单可响应单击事件
2014/11/02 Javascript
jQuery实现的多屏图像图层切换效果实例
2015/05/07 Javascript
js实现键盘Enter键提交表单的方法
2015/05/27 Javascript
webpack常用配置项配置文件介绍
2016/11/07 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
基于twbsPagination.js分页插件使用心得(分享)
2017/10/21 Javascript
nodeJs实现基于连接池连接mysql的方法示例
2018/02/10 NodeJs
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
[01:02:30]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
python中的内置函数getattr()介绍及示例
2014/07/20 Python
python实现矩阵打印
2019/03/02 Python
Python 实现使用空值进行赋值 None
2020/03/12 Python
详解使用双缓存解决Canvas clearRect引起的闪屏问题
2019/04/29 HTML / CSS
机关会计岗位职责
2014/04/08 职场文书
爱祖国演讲稿
2014/05/04 职场文书
2014酒店客房部工作总结
2014/12/16 职场文书
2014年大学宣传部工作总结
2014/12/19 职场文书
处级干部考察材料
2014/12/24 职场文书
刑事起诉书范文
2015/05/19 职场文书
2015选调生工作总结
2015/07/24 职场文书
股权投资协议书
2016/03/23 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python
python办公自动化之excel的操作
2021/05/23 Python
mysql的Buffer Pool存储及原理
2022/04/02 MySQL