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 相关文章推荐
IE FF OPERA都可用的弹出层实现代码
Sep 29 Javascript
jQuery之选择组件的深入解析
Jun 19 Javascript
用js传递value默认值的示例代码
Sep 11 Javascript
使用javascript获取页面名称
Dec 23 Javascript
jquery中EasyUI使用技巧小结
Feb 10 Javascript
javascript单例模式的简单实现方法
Jul 25 Javascript
关于javascript的一些知识以及循环详解
Sep 12 Javascript
浅谈React 属性和状态的一些总结
Nov 21 Javascript
Vue中fragment.js使用方法详解
Mar 09 Javascript
用JavaScript做简易的购物车的代码示例
Oct 20 Javascript
Angular4自制一个市县二级联动组件示例
Nov 21 Javascript
微信小程序接入vant Weapp组件的详细步骤
Oct 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
discuz免激活同步登入代码修改方法(discuz同步登录)
2013/12/24 PHP
php生成年月日下载列表的方法
2015/04/24 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
Zend Framework实现留言本分页功能(附demo源码下载)
2016/03/22 PHP
PHP二维数组矩形转置实例
2016/07/20 PHP
php+jQuery递归调用POST循环请求示例
2016/10/14 PHP
使用laravel和ECharts实现折线图效果的例子
2019/10/09 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
JS定义类的六种方式详解
2016/05/12 Javascript
JS中精巧的自动柯里化实现方法
2017/12/12 Javascript
vuex 中插件的编写案例解析
2019/06/10 Javascript
微信小程序 调用微信授权窗口相关问题解决
2019/07/25 Javascript
vue添加锚点,实现滚动页面时锚点添加相应的class操作
2020/08/10 Javascript
关于JavaScript数组去重的一些理解汇总
2020/09/10 Javascript
[01:02]2014 DOTA2国际邀请赛中国区预选赛 现场抢先看
2014/05/22 DOTA
[01:12:27]EG vs Secret 2018国际邀请赛淘汰赛BO3 第二场 8.22
2018/08/23 DOTA
Python处理RSS、ATOM模块FEEDPARSER介绍
2015/02/18 Python
Python检测字符串中是否包含某字符集合中的字符
2015/05/21 Python
简单谈谈python的反射机制
2016/06/28 Python
使用Python爬取最好大学网大学排名
2018/02/24 Python
Python装饰器原理与简单用法实例分析
2018/04/29 Python
Python3内置模块之json编解码方法小结【推荐】
2020/12/09 Python
基于OpenCV的路面质量检测的实现
2020/11/04 Python
修复iPhone的safari浏览器上submit按钮圆角bug
2012/12/24 HTML / CSS
phonegap常用事件总结(必看篇)
2017/03/31 HTML / CSS
联想美国官方商城:Lenovo美国
2017/06/19 全球购物
I.T中国官网:精选时尚设计师单品网购平台
2018/03/26 全球购物
德国高品质男装及配饰商城:Cultizm(Raw Denim原色牛仔裤)
2018/04/16 全球购物
英国No.1体育用品零售商:SportsDirect.com
2019/10/16 全球购物
演讲稿怎么写才完美
2014/01/02 职场文书
文员的职业生涯规划发展方向
2014/02/08 职场文书
餐饮部总监岗位职责范文
2014/02/13 职场文书
2014离婚协议书范文(3篇)
2014/11/29 职场文书
Python读取文件夹下的所有文件实例代码
2021/04/02 Python
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL