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 相关文章推荐
img标签中onerror用法
Aug 13 Javascript
javascript 子窗体父窗体相互传值方法
May 31 Javascript
JS获取后台Cookies值的小例子
Mar 04 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
Sep 25 Javascript
详解JavaScript的AngularJS框架中的作用域与数据绑定
Mar 04 Javascript
底部悬浮通栏可以关闭广告位的实现方法
Jun 01 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
Jul 18 Javascript
图解prototype、proto和constructor的三角关系
Jul 31 Javascript
微信小程序 页面之间传参实例详解
Jan 13 Javascript
详解在vue-cli项目中安装node-sass
Jun 21 Javascript
vue中使用v-for时为什么不能用index作为key
Apr 04 Javascript
解决vue项目中某一页面不想引用公共组件app.vue的问题
Aug 14 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
Yii框架form表单用法实例
2014/12/04 PHP
PHP自定义函数获取汉字首字母的方法
2016/12/01 PHP
YII2框架中使用yii.js实现的post请求
2017/04/09 PHP
javascript 树形导航菜单实例代码
2013/08/13 Javascript
jQuery实现图片信息的浮动显示实例代码
2013/08/28 Javascript
jquery将一个表单序列化为一个对象的方法
2014/01/03 Javascript
Javascript 拖拽雏形(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
JS解析XML实例分析
2015/01/30 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
2015/08/23 Javascript
JavaScript实现图片轮播组件代码示例
2016/11/22 Javascript
JS实现Ajax的方法分析
2016/12/20 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
2016/12/27 Javascript
node.js程序作为服务并在windows下开机自启动(用forever)
2017/03/29 Javascript
Vue2.0基于vue-cli+webpack Vuex的用法(实例讲解)
2017/09/15 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
用vuex写了一个购物车H5页面的示例代码
2018/12/04 Javascript
vue-cli3 DllPlugin 提取公用库的方法
2019/04/24 Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
2019/09/19 Javascript
nodejs中使用archive压缩文件的实现代码
2019/11/26 NodeJs
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
python+opencv实现动态物体识别
2018/01/09 Python
Pytorch 抽取vgg各层并进行定制化处理的方法
2019/08/20 Python
python getpass模块用法及实例详解
2019/10/07 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
Django web自定义通用权限控制实现方法
2020/11/24 Python
从当地商店送来的杂货:Instacart
2018/08/19 全球购物
德国价格合理的品牌商品购物网站:averdo
2019/03/21 全球购物
毕业生幼师求职自荐信
2013/10/01 职场文书
夜班门卫岗位职责
2013/12/09 职场文书
母亲追悼会答谢词
2014/01/27 职场文书
咖啡蛋糕店创业计划书
2014/01/28 职场文书
销售人员自我评价
2014/02/01 职场文书
小学优秀教育工作者事迹材料
2014/05/09 职场文书
企业宣传策划方案
2014/05/29 职场文书
Golang实现AES对称加密的过程详解
2021/05/20 Golang
python中urllib包的网络请求教程
2022/04/19 Python