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 相关文章推荐
jQuery Ajax请求状态管理器打包
May 03 Javascript
jquery中$.post()方法的简单实例
Feb 04 Javascript
js实现简单鼠标跟随效果的方法
Apr 10 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
Aug 20 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
Dec 01 Javascript
jquery对象与DOM对象转化
Feb 08 Javascript
vue.js框架实现表单排序和分页效果
Aug 09 Javascript
vuex的使用及持久化state的方式详解
Jan 23 Javascript
JS实现获取word文档内容并输出显示到html页面示例
Jun 23 Javascript
Angular6 写一个简单的Select组件示例
Aug 20 Javascript
JavaScript Array对象使用方法解析
Sep 24 Javascript
vue输入框使用模糊搜索功能的实现代码
May 26 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中的Class的几点个人看法
2006/10/09 PHP
在普通HTTP上安全地传输密码
2007/07/21 PHP
Memcache 在PHP中的使用技巧
2010/02/08 PHP
PHP读取CURL模拟登录时生成Cookie文件的方法
2014/11/04 PHP
smarty内置函数config_load用法实例
2015/01/22 PHP
当json键为数字时的取值方法解析
2013/11/15 Javascript
js单例模式详解实例
2013/11/21 Javascript
jQuery实现简单的日期输入格式化控件
2015/03/12 Javascript
JavaScript获取一个范围内日期的方法
2015/04/24 Javascript
AngularJs表单验证实例详解
2016/05/30 Javascript
Jquery遍历select option和添加移除option的实现方法
2016/08/26 Javascript
bootstrap实现每隔5秒自动轮播效果
2016/12/20 Javascript
浅谈Vue服务端渲染框架Nuxt的那些事
2018/12/21 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
2019/04/08 Javascript
vue实现的请求服务器端API接口示例
2019/05/25 Javascript
[06:09]辉夜杯主赛事开幕式
2015/12/25 DOTA
Python Sleep休眠函数使用简单实例
2015/02/02 Python
Python简单日志处理类分享
2015/02/14 Python
Python中super函数的用法
2017/11/17 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
Python实现绘制双柱状图并显示数值功能示例
2018/06/23 Python
python3 面向对象__类的内置属性与方法的实例代码
2018/11/09 Python
PyCharm 设置SciView工具窗口的方法
2019/01/15 Python
使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
2019/06/05 Python
python opencv摄像头的简单应用
2019/06/06 Python
Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例
2020/04/11 Python
用于ETL的Python数据转换工具详解
2020/07/21 Python
秘书岗位职责
2013/11/18 职场文书
个人培训自我鉴定
2014/03/28 职场文书
小学生家长寄语
2014/04/02 职场文书
大班开学家长寄语
2014/04/04 职场文书
户外活动总结范文
2014/04/30 职场文书
党日活动总结
2014/05/07 职场文书
三月法制宣传月活动总结
2014/07/03 职场文书
人为什么会“幸灾乐祸”?
2019/08/06 职场文书
游戏开发中如何使用CocosCreator进行音效处理
2021/04/14 Javascript