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 相关文章推荐
有关于JS辅助函数inherit()的问题
Apr 07 Javascript
基于JQuery制作可编辑的表格特效
Dec 23 Javascript
EasyUi datagrid 实现表格分页
Feb 10 Javascript
jQuery多条件筛选如何实现
Nov 04 Javascript
express文件上传中间件Multer详解
Oct 24 Javascript
纯JS焦点图特效实例(可一个页面多用)
Dec 07 Javascript
node.js 和HTML5开发本地桌面应用程序
Dec 13 Javascript
纯JS实现弹性导航条效果
Mar 06 Javascript
jsonp跨域请求详解
Jul 13 Javascript
微信小程序自定义tabBar组件开发详解
Sep 24 Javascript
教你完全理解ReentrantLock重入锁
Jun 03 Javascript
微信小程序canvas实现签名功能
Jan 19 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
杏林同学录(一)
2006/10/09 PHP
PHP新手上路(四)
2006/10/09 PHP
给初学PHP的5个入手程序
2006/11/23 PHP
Ajax实现对静态页面的文章访问统计功能示例
2016/10/10 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
2019/05/08 PHP
JavaScript窗口功能指南之在窗口中书写内容
2006/07/21 Javascript
javascript语句中的CDATA标签的意义
2007/05/09 Javascript
二行代码解决全部网页木马
2008/03/28 Javascript
Javascript的数组与字典用法与遍历对象的属性技巧
2012/11/07 Javascript
JAVASCRIPT函数作用域和提前声明 分享
2013/08/22 Javascript
fmt:formatDate的输出格式详解
2014/01/09 Javascript
javascript实现一个数值加法函数
2015/06/26 Javascript
微信JSSDK上传图片
2015/08/23 Javascript
微信小程序前端源码逻辑和工作流
2016/09/25 Javascript
node.js 和HTML5开发本地桌面应用程序
2016/12/13 Javascript
深入理解Javascript中的观察者模式
2017/02/20 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
2017/11/30 Javascript
js贪心算法 钱币找零问题代码实例
2019/09/11 Javascript
express异步函数异常捕获示例详解
2020/11/30 Javascript
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
Python中sort和sorted函数代码解析
2018/01/25 Python
Python实现判断并移除列表指定位置元素的方法
2018/04/13 Python
Python读取txt某几列绘图的方法
2018/10/14 Python
python 对多个csv文件分别进行处理的方法
2019/01/07 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
2019/02/08 Python
Python中使用socks5设置全局代理的方法示例
2020/04/15 Python
Schutz鞋官方网站:Schutz Shoes
2017/12/13 全球购物
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
静态变量和实例变量的区别
2015/07/07 面试题
重阳节登山活动方案
2014/02/03 职场文书
留学推荐信范文
2014/05/10 职场文书
银行职员工作失误检讨书
2014/10/14 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
优秀团员主要事迹范文
2015/11/05 职场文书
2015年终个人政治思想工作总结
2015/11/24 职场文书
python绘图subplots函数使用模板的示例代码
2021/04/30 Python