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 相关文章推荐
document.onreadystatechange事件的用法分析
Oct 17 Javascript
25个优雅的jQuery Tooltip插件推荐
May 25 Javascript
.net,js捕捉文本框回车键事件的小例子(兼容多浏览器)
Mar 11 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
Jun 23 Javascript
jQuery插件Skippr实现焦点图幻灯片特效
Apr 12 Javascript
JavaScript实现仿淘宝商品购买数量的增减效果
Jan 22 Javascript
基于JavaScript实现鼠标箭头移动图片跟着移动
Aug 30 Javascript
清除js缓存的多种方法总结
Dec 09 Javascript
JS组件系列之MVVM组件构建自己的Vue组件
Apr 28 Javascript
JavaScript队列函数和异步执行详解
Jun 19 Javascript
jquery点击回车键实现登录效果并默认焦点的方法
Mar 09 jQuery
JavaScript 中判断变量是否为数字的示例代码
Oct 22 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
短波收音机简介
2021/03/01 无线电
PHP中的超全局变量
2006/10/09 PHP
php中将数组转成字符串并保存到数据库中的函数代码
2013/09/29 PHP
php指定函数参数默认值示例代码
2013/12/04 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
PHP使用正则表达式实现过滤非法字符串功能示例
2018/06/04 PHP
js客户端快捷键管理类的较完整实现和应用
2010/06/08 Javascript
Jquery多选下拉列表插件jquery multiselect功能介绍及使用
2013/05/24 Javascript
Jquery动态改变图片IMG的src地址示例
2013/06/25 Javascript
JavaScript实现的石头剪刀布游戏源码分享
2014/08/22 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
2014/09/03 Javascript
node.js中的console.info方法使用说明
2014/12/09 Javascript
jQuery中last()方法用法实例
2015/01/06 Javascript
JavaScript中reduce()方法的使用详解
2015/06/09 Javascript
jQuery多级手风琴菜单实例讲解
2015/10/22 Javascript
基于jquery实现图片相关操作(重绘、获取尺寸、调整大小、缩放)
2015/12/25 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
利用js+css+html实现固定table的列头不动
2016/12/08 Javascript
vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
2018/10/24 Javascript
小程序云开发获取不到数据库记录的解决方法
2019/05/18 Javascript
layui自定义插件citySelect实现省市区三级联动选择
2019/07/26 Javascript
JavaScript实现更换背景图片
2019/10/18 Javascript
Vue项目中使用jsonp抓取跨域数据的方法
2019/11/10 Javascript
JavaScript array常用方法代码实例详解
2020/09/02 Javascript
浅析Python的Django框架中的Memcached
2015/07/23 Python
Python 调用Java实例详解
2017/06/02 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
2017/09/08 Python
Python从文件中读取数据的方法讲解
2019/02/14 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
keras得到每层的系数方式
2020/06/15 Python
python 自定义异常和主动抛出异常(raise)的操作
2020/12/11 Python
eBay法国购物网站:eBay.fr
2017/10/21 全球购物
劳动仲裁调解书
2015/05/20 职场文书
简短的人生哲理(38句)
2019/08/13 职场文书
基于go interface{}==nil 的几种坑及原理分析
2021/04/24 Golang
pyqt5打包成exe可执行文件的方法
2021/05/14 Python