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
Jun 05 Javascript
一个可拖拽列宽表格实例演示
Nov 26 Javascript
js模仿html5 placeholder适应于不支持的浏览器
Jan 13 Javascript
纯javascript制作日历控件
Jul 17 Javascript
JavaScript中数组添加值和访问值常见问题
Feb 06 Javascript
Summernote实现图片上传功能的简单方法
Jul 11 Javascript
最丑的时钟效果!js canvas时钟制作方法
Aug 15 Javascript
Javascript+CSS3实现进度条效果
Oct 28 Javascript
bootstrap table动态加载数据示例代码
Mar 25 Javascript
详解AngularJS跨页面传值(ui-router)
Aug 23 Javascript
JS动画实现回调地狱promise的实例代码详解
Nov 08 Javascript
微信小程序云开发如何使用云函数生成二维码
May 18 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
php4的彩蛋
2006/10/09 PHP
swfupload 多文件上传实现代码
2008/08/27 PHP
JavaScript XML操作 封装类
2009/07/01 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
javascript实现json页面分页实例代码
2014/02/20 Javascript
使用jquery.qrcode生成彩色二维码实例
2014/08/08 Javascript
js实现简单鼠标跟随效果的方法
2015/04/10 Javascript
浅谈String.valueOf()方法的使用
2016/06/06 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
2016/06/12 Javascript
jquery广告无缝轮播实例
2017/01/05 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
2017/08/22 Javascript
聊聊那些使用前端Javascript实现的机器学习类库
2017/09/18 Javascript
vue-cli与webpack处理静态资源的方法及webpack打包的坑
2018/05/15 Javascript
jquery实现的分页显示功能示例
2019/08/23 jQuery
javascript二维数组和对象的深拷贝与浅拷贝实例分析
2019/10/26 Javascript
使用Python下的XSLT API进行web开发的简单教程
2015/04/15 Python
python开发之list操作实例分析
2016/02/22 Python
对python numpy数组中冒号的使用方法详解
2018/04/17 Python
python 获取键盘输入,同时有超时的功能示例
2018/11/13 Python
pyqt5 QScrollArea设置在自定义侧(任何位置)
2019/09/25 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
python interpolate插值实例
2020/07/06 Python
Python使用for生成列表实现过程解析
2020/09/22 Python
Python Django路径配置实现过程解析
2020/11/05 Python
波兰化妆品和护肤品购物网站:eKobieca
2019/08/30 全球购物
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
实用求职信范文分享
2013/12/25 职场文书
《走一步再走一步》教学反思
2014/02/15 职场文书
《狼和小羊》教学反思
2014/04/20 职场文书
房地产活动策划方案
2014/05/14 职场文书
银行奉献演讲稿
2014/09/16 职场文书
2014年学生会部门工作总结
2014/11/07 职场文书
企业整改报告范文
2014/11/08 职场文书
导游词之秦皇岛燕塞湖
2020/01/03 职场文书
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js