JavaScript生成随机数的4种自定义函数分享


Posted in Javascript onFebruary 28, 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 格式化时间日期函数小结
Mar 20 Javascript
jQuery封装的tab选项卡插件分享
Jun 16 Javascript
jQuery模拟黑客帝国矩阵效果实例
Jun 28 Javascript
代码分析jQuery四种静态方法使用
Jul 23 Javascript
JavaScript中几种排序算法的简单实现
Jul 29 Javascript
JS组件Bootstrap实现图片轮播效果
May 16 Javascript
vue-router路由简单案例介绍
Feb 21 Javascript
Vue指令的钩子函数使用方法
Mar 20 Javascript
十大热门的JavaScript框架和库
Mar 21 Javascript
Vue从TodoList中学父子组件通信
Feb 05 Javascript
JavaScript 严格模式(use strict)用法实例分析
Mar 04 Javascript
vue实现简易计算器功能
Jan 20 Vue.js
浅析JavaScript事件和方法
Feb 28 #Javascript
常用的JavaScript WEB操作方法分享
Feb 28 #Javascript
js实现点击图片改变页面背景图的方法
Feb 28 #Javascript
本人自用的global.js库源码分享
Feb 28 #Javascript
JS限制文本框只能输入数字和字母方法
Feb 28 #Javascript
javascript计时器详解
Feb 28 #Javascript
Lab.js初次使用笔记
Feb 28 #Javascript
You might like
php中计算时间差的几种方法
2009/12/31 PHP
php删除与复制文件夹及其文件夹下所有文件的实现代码
2013/01/23 PHP
Yii框架结合sphinx,Ajax实现搜索分页功能示例
2016/10/18 PHP
ExtJS 2.0实用简明教程 之ExtJS版的Hello
2009/04/29 Javascript
javascript cookies操作集合
2010/04/12 Javascript
详解AngularJS中的表格使用
2015/06/16 Javascript
jQuery实现标题有打字效果的焦点图代码
2015/11/16 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
2016/07/21 Javascript
基于js实现checkbox批量选中操作
2016/11/22 Javascript
原生和jQuery的ajax用法详解
2017/01/23 Javascript
JS中IP地址与整数相互转换的实现代码
2017/04/10 Javascript
EasyUI Datebox 日期验证之开始日期小于结束时间
2017/05/19 Javascript
Angular4实现动态添加删除表单输入框功能
2017/08/11 Javascript
解决Jstree 选中父节点时被禁用的子节点也会选中的问题
2017/12/27 Javascript
Vue表单类的父子组件数据传递示例
2018/05/03 Javascript
原生JS+HTML5实现跟随鼠标一起流动的粒子动画效果
2018/05/03 Javascript
Vue中&quot;This dependency was not found&quot;问题的解决方法
2018/06/19 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
2019/06/24 Javascript
js判断非127开头的IP地址的实例代码
2020/01/05 Javascript
Vue Elenent实现表格相同数据列合并
2020/11/30 Vue.js
[02:18]DOTA2英雄基础教程 育母蜘蛛
2014/01/20 DOTA
用python 制作图片转pdf工具
2015/01/30 Python
python万年历实现代码 含运行结果
2017/05/20 Python
python获取网页中所有图片并筛选指定分辨率的方法
2018/03/31 Python
python构建基础的爬虫教学
2018/12/23 Python
详解python中sort排序使用
2019/03/23 Python
djano一对一、多对多、分页实例代码
2019/08/16 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
Hanky Panky官方网站:内衣和睡衣
2019/07/25 全球购物
白俄罗斯女装和针织品网上商店:Presli.by
2019/10/13 全球购物
2015届本科毕业生自我鉴定
2014/09/27 职场文书
列车乘务员工作不细心检讨书
2014/10/07 职场文书
学校拾金不昧表扬信
2015/01/16 职场文书
幼儿园国培研修日志
2015/11/13 职场文书
如何用JavaScipt测网速
2021/05/09 Javascript
mysql sql常用语句大全
2022/06/21 MySQL