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 相关文章推荐
jQuery 动态酷效果实现总结
Dec 27 Javascript
基于jQuery替换table中的内容并显示进度条的代码
Aug 02 Javascript
JavaScript 函数参数是传值(byVal)还是传址(byRef) 分享
Jul 02 Javascript
iframe窗口高度自适应的又一个巧妙实现思路
Apr 04 Javascript
js使用for循环查询数组中是否存在某个值
Aug 12 Javascript
使用jQuery简单实现模拟浏览器搜索功能
Dec 21 Javascript
js随机生成字母数字组合的字符串 随机动画数字
Sep 02 Javascript
Angularjs实现带查找筛选功能的select下拉框示例代码
Oct 04 Javascript
H5移动端图片压缩上传开发流程
Nov 09 Javascript
手机端转换rem适应
Apr 01 Javascript
ES6入门教程之let和const命令详解
May 17 Javascript
Vue 数组和对象更新,但是页面没有刷新的解决方式
Nov 09 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
zend framework多模块多布局配置
2011/02/26 PHP
QQ互联一键登录审核不通过的解决方案
2014/09/10 PHP
PHP使用PDO操作数据库的乱码问题解决方法
2016/04/08 PHP
php登录超时检测功能实例详解
2017/03/21 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
js下关于onmouseout、事件冒泡的问题经验小结
2010/12/09 Javascript
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
Javascript中 关于prototype属性实现继承的原理图
2013/04/16 Javascript
js实现动态添加、删除行、onkeyup表格求和示例
2013/08/18 Javascript
jquery ajax 局部刷新小案例
2014/02/08 Javascript
jquery控制页面部分刷新的方法
2015/06/24 Javascript
JavaScript实现添加、查找、删除元素
2015/07/02 Javascript
学习JavaScript设计模式(接口)
2015/11/26 Javascript
JS实现根据用户输入分钟进行倒计时功能
2016/11/14 Javascript
详解jQuery的Cookie插件
2016/11/23 Javascript
Element input树型下拉框的实现代码
2018/12/21 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
ES6实现图片切换特效代码
2020/01/14 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
2020/07/19 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
2020/12/07 Vue.js
JS+CSS实现过渡特效
2021/01/02 Javascript
从零学Python之入门(五)缩进和选择
2014/05/27 Python
Python3.X 线程中信号量的使用方法示例
2017/07/24 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
python地震数据可视化详解
2019/06/18 Python
Pyqt QImage 与 np array 转换方法
2019/06/27 Python
Python获取时间范围内日期列表和周列表的函数
2019/08/05 Python
Pytorch - TORCH.NN.INIT 参数初始化的操作
2021/02/27 Python
新西兰珠宝品牌:Michael Hill
2017/09/16 全球购物
英国网上购买门:Direct Doors
2018/06/07 全球购物
黄色火烈鸟:De Gele Flamingo
2019/03/18 全球购物
管理科学大学生求职信
2013/11/13 职场文书
物流仓储计划书
2014/01/10 职场文书
统计系教授推荐信
2014/02/28 职场文书
计算机应用专业自荐信
2014/07/05 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书