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 相关文章推荐
escape、encodeURI、encodeURIComponent等方法的区别比较
Dec 27 Javascript
网上抓的一个特效
May 11 Javascript
jQuery 入门讲解1
Apr 15 Javascript
JavaScript toFixed() 方法
Apr 15 Javascript
jQuery绑定事件-多种实现方式总结
May 09 Javascript
最简单的tab切换实例代码
May 13 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
Jun 15 Javascript
JS中如何比较两个Json对象是否相等实例代码
Jul 13 Javascript
js 颜色选择插件
Jan 23 Javascript
layui的table中显示图片方法
Aug 17 Javascript
JS实现打砖块游戏
Feb 14 Javascript
使用typescript快速开发一个cli的实现示例
Dec 09 Javascript
浅析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操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
2011/11/10 PHP
php生成局部唯一识别码LUID的代码
2012/10/06 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
浅谈json_encode用法
2015/03/05 PHP
jquery 卷帘效果实现代码(不同方向)
2013/02/05 Javascript
20行代码实现的一个CSS覆盖率测试脚本
2013/07/07 Javascript
为开发者准备的10款最好的jQuery日历插件
2014/02/04 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
JavaScript中Null与Undefined的区别解析
2015/06/30 Javascript
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
移动开发之自适应手机屏幕宽度
2016/11/23 Javascript
JS实现超简单的汉字转拼音功能示例
2016/12/22 Javascript
解决VUE双向绑定失效的问题
2019/10/29 Javascript
Python enumerate遍历数组示例应用
2008/09/06 Python
跟老齐学Python之编写类之一创建实例
2014/10/11 Python
Python多线程爬虫简单示例
2016/03/04 Python
Python实现判断字符串中包含某个字符的判断函数示例
2018/01/08 Python
python用户管理系统
2018/03/13 Python
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
2018/09/13 Python
python基于Selenium的web自动化框架
2019/07/14 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
Python面向对象之多态原理与用法案例分析
2019/12/30 Python
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
浅谈html5与APP混合开发遇到的问题总结
2018/03/20 HTML / CSS
中国双语服务优势的在线购票及活动平台:247tickets
2018/10/26 全球购物
毕业生自荐信格式
2014/03/07 职场文书
互联网电子商务专业毕业生求职信
2014/03/18 职场文书
财务会计专业自荐书
2014/06/30 职场文书
超市七夕促销活动方案
2014/08/28 职场文书
行政助理岗位职责范本
2015/04/11 职场文书
单位综合评价意见
2015/06/05 职场文书
2016新教师岗前培训心得体会
2016/01/08 职场文书
职场中的你,辞职信写对了吗?
2019/06/26 职场文书
导游词之四川熊猫基地
2020/01/13 职场文书
opencv深入浅出了解机器学习和深度学习
2022/03/17 Python