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 确定css方框模型(盒模型Box Model)
Jan 22 Javascript
Package.js  现代化的JavaScript项目make工具
May 23 Javascript
基于mootools插件实现遮罩层新手引导
May 24 Javascript
禁用Tab键JS代码兼容Firefox和IE
Apr 18 Javascript
js style动态设置table高度
Oct 21 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
Dec 01 Javascript
JS实现的点击表头排序功能示例
Mar 27 Javascript
Angular2使用Angular CLI快速搭建工程(一)
May 21 Javascript
vue todo-list组件发布到npm上的方法
Apr 04 Javascript
解决element ui select下拉框不回显数据问题的解决
Feb 20 Javascript
JS求解两数之和算法详解
Apr 28 Javascript
移动端JS实现拖拽两种方法解析
Oct 12 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
PHP类和对象相关系统函数与运算符小结
2016/09/28 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
javascript Zifa FormValid 0.1表单验证 代码打包下载
2007/06/08 Javascript
基于jquery的blockui插件显示弹出层
2011/04/14 Javascript
js+xml生成级联下拉框代码
2012/07/24 Javascript
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
js设置cookie过期当前时间减去一秒相当于立即过期
2014/09/04 Javascript
Jquery中Event对象属性小结
2015/02/27 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
使用javascript插入样式
2016/03/14 Javascript
JS获取元素多层嵌套思路详解
2016/05/16 Javascript
AngularJS中的表单简单入门
2016/07/28 Javascript
vue使用watch 观察路由变化,重新获取内容
2017/03/08 Javascript
JavaScript通过filereader接口读取文件
2017/05/10 Javascript
详解用node编写自己的cli工具
2017/05/23 Javascript
详解JS判断页面是在手机端还是在PC端打开的方法
2019/04/26 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
vue+koa2搭建mock数据环境的详细教程
2020/05/18 Javascript
JavaScript检测是否开启了控制台(F12调试工具)
2020/10/02 Javascript
python 创建弹出式菜单的实现代码
2017/07/11 Python
python shell根据ip获取主机名代码示例
2017/11/25 Python
Python实现读取及写入csv文件的方法示例
2018/01/12 Python
python学习开发mock接口
2019/04/28 Python
Python生成一个迭代器的实操方法
2019/06/18 Python
详解python编译器和解释器的区别
2019/06/24 Python
python re.sub()替换正则的匹配内容方法
2019/07/22 Python
python实现车牌识别的示例代码
2019/08/05 Python
Amara美国站:英国高端家居礼品网站,世界各地的奢侈家具品牌
2017/07/26 全球购物
专注澳大利亚特产和新西兰特产的澳洲中文网:0061澳洲制造
2019/03/24 全球购物
皮肤科医师岗位职责
2013/12/04 职场文书
面试后感谢信
2014/02/01 职场文书
中学生运动会入场词
2014/02/12 职场文书
群众路线教育实践活动个人对照检查材料思想汇报(社区班子)
2014/10/06 职场文书
2014年销售工作总结范文
2014/12/01 职场文书
Springboot-cli 开发脚手架,权限认证,附demo演示
2022/04/28 Java/Android
css弧边选项卡的项目实践
2023/05/07 HTML / CSS