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综合应用实例简单的表格统计
Sep 03 Javascript
Egret引擎开发指南之发布项目
Sep 03 Javascript
JS中三目运算符和if else的区别分析与示例
Nov 21 Javascript
简述AngularJS的控制器的使用
Jun 16 Javascript
全面解析bootstrap格子布局
May 22 Javascript
vue.js指令和组件详细介绍及实例
Apr 06 Javascript
利用js实现前后台传送Json的示例代码
Mar 29 Javascript
小程序click-scroll组件设计
Jun 18 Javascript
three.js利用射线Raycaster进行碰撞检测
Mar 12 Javascript
详解webpack的clean-webpack-plugin插件报错
Oct 16 Javascript
如何在vue中使用百度地图添加自定义覆盖物(水波纹)
Nov 03 Javascript
JS如何调用WebAssembly编译出来的.wasm文件
Nov 05 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 substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
2011/12/16 PHP
PHP防止注入攻击实例分析
2014/11/03 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
js中document.getElementByid、document.all和document.layers区分介绍
2011/12/08 Javascript
Javascript脚本实现静态网页加密实例代码
2013/11/05 Javascript
基于js实现微信发送好友如何分享到朋友圈、微博
2015/11/30 Javascript
基于JS实现bookstore静态页面的实例代码
2017/02/22 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
Vue使用vue-cli创建项目
2017/09/01 Javascript
angular4模块中给标签添加背景图的实现方法
2017/09/15 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
2020/05/21 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
Python实现简单截取中文字符串的方法
2015/06/15 Python
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
对python中dict和json的区别详解
2018/12/18 Python
微信小程序python用户认证的实现
2019/07/29 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
python 批量将中文名转换为拼音
2021/02/07 Python
世界上最好的儿童品牌:AlexandAlexa
2018/01/27 全球购物
ONLY瑞典官网:世界知名服装品牌
2018/06/19 全球购物
环境工程毕业生自荐信
2013/11/17 职场文书
教师求职信范文
2014/05/24 职场文书
人口与计划生育目标管理责任书
2014/07/29 职场文书
2014年秋季开学典礼主持词
2014/08/02 职场文书
会员卡清退活动总结
2014/08/27 职场文书
员工试用期自我鉴定范文
2014/09/15 职场文书
中层领导干部群众路线对照检查材料思想汇报
2014/10/02 职场文书
营销计划书
2015/01/17 职场文书
捐款感谢信
2015/01/20 职场文书
幼儿园感谢信
2015/01/21 职场文书
西湖英语导游词
2015/02/06 职场文书
清明节主题班会
2015/08/14 职场文书
导游词之台湾阿里山
2019/10/23 职场文书
Python pyecharts绘制条形图详解
2022/04/02 Python
MySQL 条件查询的常用操作
2022/04/28 MySQL