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 相关文章推荐
JavaScript的Function详细
Nov 14 Javascript
在线编辑器中换行与内容自动提取
Apr 24 Javascript
基于jquery的图片幻灯展示源码
Jul 15 Javascript
如何设置一定时间内只能发送一次请求
Feb 28 Javascript
jQuery使用hide方法隐藏页面上指定元素的方法
Mar 30 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
May 16 Javascript
JS实现点击链接切换显示隐藏内容的方法
Oct 19 Javascript
在Mac下彻底卸载node和npm的方法
May 16 Javascript
Nginx设置为Node.js的前端服务器方法总结
Mar 27 Javascript
vue中使用rem布局代码详解
Oct 30 Javascript
Vuex实现数据共享的方法
Dec 20 Javascript
帮你提高开发效率的JavaScript20个技巧
Jun 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
php输出表格的实现代码(修正版)
2010/12/29 PHP
PHP session有效期session.gc_maxlifetime
2011/04/20 PHP
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
PHP开发注意事项总结
2015/02/04 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
Ubuntu下安装PHP的mongodb扩展操作命令
2015/07/04 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
深入理解javascript构造函数和原型对象
2014/09/23 Javascript
Js数组排序函数sort()介绍
2015/06/08 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
jQuery双向列表选择器DIV模拟版
2016/11/01 Javascript
js实现背景图自适应窗口大小
2017/01/10 Javascript
JQuery异步提交表单与文件上传功能示例
2017/01/12 Javascript
Vue filter格式化时间戳时间成标准日期格式的方法
2018/09/16 Javascript
element-ui 实现响应式导航栏的示例代码
2020/05/08 Javascript
vue实现从外部修改组件内部的变量的值
2020/07/30 Javascript
python抓取豆瓣图片并自动保存示例学习
2014/01/10 Python
Python3操作SQL Server数据库(实例讲解)
2017/10/21 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
2017/11/29 Python
详解python中的 is 操作符
2017/12/26 Python
Python代码缩进和测试模块示例详解
2018/05/07 Python
Python3爬虫学习之爬虫利器Beautiful Soup用法分析
2018/12/12 Python
python单向链表的基本实现与使用方法【定义、遍历、添加、删除、查找等】
2019/10/24 Python
美国运动鞋和服装网上商店:YCMC
2018/09/15 全球购物
德国亚马逊官方网站:Amazon.de
2020/11/15 全球购物
Linux面试题LINUX系统类
2014/11/19 面试题
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
自我鉴定范文
2013/11/10 职场文书
《长城》教学反思
2014/02/14 职场文书
竞选学生会主席演讲稿
2014/04/24 职场文书
工作检讨书500字
2014/10/19 职场文书
党员读书活动心得体会
2016/01/14 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
分享几个JavaScript运算符的使用技巧
2021/04/24 Javascript
关于MySQL中explain工具的使用
2023/05/08 MySQL