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 相关文章推荐
javascritp实现input输入框相关限制用法
Jun 29 Javascript
javascript prototype,executing,context,closure
Dec 24 Javascript
用javascript删除当前行,添加行(示例代码)
Nov 25 Javascript
javascript实现des解密加密全过程
Apr 03 Javascript
jQuery Ajax中的事件详细介绍
Apr 16 Javascript
JavaScript中继承用法实例分析
May 16 Javascript
js实现input框文字动态变换显示效果
Aug 19 Javascript
jQuery获取同级元素的简单代码
Jul 09 Javascript
利用js+css+html实现固定table的列头不动
Dec 08 Javascript
react.js CMS 删除功能的实现方法
Apr 17 Javascript
Node.js连接mongodb实例代码
Jun 06 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
Jul 12 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
仿Aspnetpager的一个PHP分页类代码 附源码下载
2012/10/08 PHP
PHP文件缓存类实现代码
2015/10/26 PHP
php中session定期自动清理的方法
2015/11/12 PHP
thinkPHP模板中函数的使用方法示例
2016/11/30 PHP
thinkPHP分页功能实例详解
2017/05/05 PHP
thinkphp5 migrate数据库迁移工具
2018/02/20 PHP
php使用socket调用http和smtp协议实例小结
2019/07/26 PHP
javascript 计算两个整数的百分比值
2009/12/26 Javascript
jQuery.buildFragment使用方法及思路分析
2013/01/07 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
2014/03/05 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
2014/10/14 Javascript
JS实现HTML表格排序功能
2016/08/05 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
浅谈使用splice函数对数组中的元素进行删除时的注意事项
2016/12/04 Javascript
微信小程序商品详情页规格属性选择示例代码
2017/10/30 Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
2019/10/30 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
vue组件添加事件@click.native操作
2020/10/30 Javascript
[14:25]教你分分钟做大人:主宰(HEROS)
2014/12/08 DOTA
[38:31]完美世界DOTA2联赛PWL S3 Magma vs GXR 第一场 12.13
2020/12/17 DOTA
详解详解Python中writelines()方法的使用
2015/05/25 Python
浅谈python中scipy.misc.logsumexp函数的运用场景
2016/06/23 Python
mvc框架打造笔记之wsgi协议的优缺点以及接口实现
2018/08/01 Python
详解Python实现进度条的4种方式
2020/01/15 Python
Python如何实现小程序 无限求和平均
2020/02/18 Python
Python自动登录QQ的实现示例
2020/08/28 Python
css3使用animation属性实现炫酷效果(推荐)
2020/02/04 HTML / CSS
浅析HTML5 Landmark
2020/09/11 HTML / CSS
美国帽子俱乐部商店:Hat Club
2019/07/05 全球购物
班主任工作年限证明
2014/01/12 职场文书
施工安全生产承诺书
2014/05/23 职场文书
师德师风自查总结
2014/10/14 职场文书
导游词之麻姑仙境
2019/11/18 职场文书
mysql优化之query_cache_limit参数说明
2021/07/01 MySQL