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最简单的拖拽效果实现代码
Sep 24 Javascript
asp.net 30分钟掌握无刷新 Repeater
Sep 16 Javascript
Checbox的操作含已选、未选及判断代码
Nov 07 Javascript
jQuery中andSelf()方法用法实例
Jan 08 Javascript
PHP守护进程实例
Mar 06 Javascript
Jquery检验手机号是否符合规则并根据手机号检测结果将提交按钮设为不同状态
Nov 26 Javascript
vue在使用ECharts时的异步更新和数据加载详解
Nov 22 Javascript
vue.js 双层嵌套for遍历的方法详解, 类似php foreach()
Sep 07 Javascript
利用JS响应式修改vue实现页面的input值
Sep 02 Javascript
浅谈webpack和webpack-cli模块源码分析
Jan 19 Javascript
js Math数学简单使用操作示例
Mar 13 Javascript
Vue+TypeScript中处理computed方式
Apr 02 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 正则判断中文UTF-8或GBK的思路及具体实现
2013/11/26 PHP
php简单获取文件扩展名的方法
2015/03/24 PHP
PHP实现的日历功能示例
2018/09/01 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
javascript 清空form表单中某种元素的值
2009/12/26 Javascript
jquery获取下拉列表的值为null的解决方法
2011/03/18 Javascript
JavaScript ECMA-262-3 深入解析.第三章.this
2011/09/28 Javascript
关于使用 jBox 对话框的提交不能弹出问题解决方法
2012/11/07 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
2013/11/19 Javascript
JS实现点击链接取消跳转效果的方法
2014/01/24 Javascript
javascript对象的使用和属性操作示例详解
2014/03/02 Javascript
jQuery 删除或是清空某个HTML元素示例
2014/08/04 Javascript
Bootstrap表单组件教程详解
2016/04/26 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
jQuery实现select下拉框获取当前选中文本、值、索引
2017/05/08 jQuery
解决vue中无法动态修改jqgrid组件 url地址的问题
2018/03/01 Javascript
在Node.js下运用MQTT协议实现即时通讯及离线推送的方法
2019/01/24 Javascript
使用layui定义一个模块并使用的例子
2019/09/14 Javascript
python清除字符串里非数字字符的方法
2015/07/02 Python
Python设计模式之代理模式简单示例
2018/01/09 Python
Python 函数基础知识汇总
2018/03/09 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
Django调用百度AI接口实现人脸注册登录代码实例
2020/04/23 Python
Python实现动态循环输出文字功能
2020/05/07 Python
旅游管理专业学生求职信
2013/09/28 职场文书
大学生党课思想汇报
2013/12/29 职场文书
如何写自我评价?自我评价写什么好?
2014/03/14 职场文书
幼儿园开学寄语
2014/04/03 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
2015年党建工作目标责任书
2015/05/08 职场文书
2015年小学语文教学工作总结
2015/05/25 职场文书
毕业欢送晚会主持词
2019/06/25 职场文书
商业计划书如何写?关键问题有哪些?
2019/07/11 职场文书
十大最帅动漫男主 碓冰拓海上榜,第一是《灌篮高手》男主角
2022/03/18 日漫
ubuntu如何搭建vsftpd服务器
2022/12/24 Servers