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 相关文章推荐
一个刚完成的layout(拖动流畅,不受iframe影响)
Aug 17 Javascript
javascript 解析url的search方法
Feb 09 Javascript
JavaScript 语言的递归编程
May 18 Javascript
javascript中JSON.parse()与eval()解析json的区别
May 19 Javascript
如何利用模板将HTML从JavaScript中抽离
Oct 08 Javascript
说说AngularJS中的$parse和$eval的用法
Sep 14 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
Apr 26 Javascript
JS中this的指向以及call、apply的作用
May 06 Javascript
JS监听事件的叠加和移除功能
Nov 19 Javascript
DatePickerDialog 自定义样式及使用全解
Jul 09 Javascript
jquery更改元素属性attr()方法操作示例
May 22 jQuery
Element-UI 使用el-row 分栏布局的教程
Oct 26 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
Cakephp 执行主要流程
2010/03/24 PHP
smarty中常用方法实例总结
2015/08/07 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
2017/09/28 PHP
jquery 操作DOM案例代码分享
2012/04/05 Javascript
解读JavaScript中 For, While与递归的用法
2013/05/07 Javascript
director.js实现前端路由使用实例
2015/02/03 Javascript
js实现漂浮回顶部按钮实例
2015/05/06 Javascript
轻量级网页遮罩层jQuery插件用法实例
2015/07/31 Javascript
探讨JavaScript标签位置的存放与功能有无关系
2016/01/15 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
2016/06/07 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
2016/07/28 Javascript
轮播图组件js代码
2016/08/08 Javascript
微信小程序 loading 详解及实例代码
2016/11/09 Javascript
Bootstrap3 datetimepicker控件使用实例
2016/12/13 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
基于canvas粒子系统的构建详解
2017/08/31 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
vuex进阶知识点巩固
2018/05/20 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
vue webpack开发访问后台接口全局配置的方法
2018/09/18 Javascript
JS使用正则表达式判断输入框失去焦点事件
2019/10/16 Javascript
jQuery实现弹出层效果
2019/12/10 jQuery
小程序卡片切换效果组件wxCardSwiper的实现
2020/02/13 Javascript
Python简单进程锁代码实例
2015/04/27 Python
pandas.cut具体使用总结
2019/06/24 Python
Python常用库大全及简要说明
2020/01/17 Python
公共汽车、火车和飞机票的通用在线预订和销售平台:INFOBUS
2019/11/30 全球购物
酒店应聘自荐信
2013/11/09 职场文书
春节活动策划方案
2014/01/24 职场文书
文明餐桌活动方案
2014/02/11 职场文书
接待员岗位职责
2015/02/13 职场文书
2015年见习期个人工作总结
2015/05/28 职场文书
旷工检讨书大全
2015/08/15 职场文书
python3实现常见的排序算法(示例代码)
2021/07/04 Python
解析MySQL索引的作用
2022/03/03 MySQL