JS简单生成由字母数字组合随机字符串示例


Posted in Javascript onMay 25, 2018

本文实例讲述了JS简单生成由字母数字组合随机字符串。分享给大家供大家参考,具体如下:

前言

最近有个需求,是需要生成3-32位长度的字母数字组合的随机字符串,另一个是生成43位随机字符串。

方法一

奇妙的写法

Math.random().toString(36).substr(2);

输出结果

JS简单生成由字母数字组合随机字符串示例

解释

很有意思,研究了一下,基本上toString后的参数规定可以是2-36之间的任意整数,不写的话默认是10(也就是十进制),此时返回的值就是那个随机数。

若是偶数,返回的数值字符串都是短的,若是奇数,则返回的将是一个很大长度的表示值。
若<10 则都是数字组成,>10 才会包含字母。

所以如果想得到一长串的随机字符,则需使用一个 > 10 且是奇数的参数,另外根据长度自行使用slice(2,n)截取!

方法二

这个倒是有很多的实现方法,由于上一种写法不太符合需求所以写了下一种,欢迎拍砖。

代码

/*
** randomWord 产生任意长度随机字母数字组合
** randomFlag-是否任意长度 min-任意长度最小位[固定位数] max-任意长度最大位
** xuanfeng 2014-08-28
*/
function randomWord(randomFlag, min, max){
  var str = "",
    range = min,
    arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
  // 随机产生
  if(randomFlag){
    range = Math.round(Math.random() * (max-min)) + min;
  }
  for(var i=0; i<range; i++){
    pos = Math.round(Math.random() * (arr.length-1));
    str += arr[pos];
  }
  return str;
}

使用方法

生成3-32位随机串:randomWord(true, 3, 32)
生成43位随机串:randomWord(false, 43)

JS简单生成由字母数字组合随机字符串示例

Javascript 相关文章推荐
Javascript 读书笔记索引贴
Jan 11 Javascript
js实现addClass,removeClass,hasClass的函数代码
Jul 13 Javascript
javascript检测对象中是否存在某个属性判断方法小结
May 19 Javascript
alert中断settimeout计时功能
Jul 26 Javascript
jQuery实现多按钮单击变色
Nov 27 Javascript
jQuery实现Div拖动+键盘控制综合效果的方法
Mar 10 Javascript
小心!AngularJS结合RequireJS做文件合并压缩的那些坑
Jan 09 Javascript
JavaScript 数组中最大最小值
Jun 05 Javascript
使用JS 插件qrcode.js生成二维码功能
Feb 20 Javascript
基于Vue的文字跑马灯组件(npm 组件包)
May 24 Javascript
Node.js原生api搭建web服务器的方法步骤
Feb 15 Javascript
vue页面切换项目实现转场动画的方法
Nov 12 Javascript
Webpack中雪碧图插件使用详解
May 25 #Javascript
使用javascript做在线算法编程
May 25 #Javascript
JS实现的汉字与Unicode码相互转化功能分析
May 25 #Javascript
浅析node.js的模块加载机制
May 25 #Javascript
webpack4的迁移的使用方法
May 25 #Javascript
最后说说Vue2 SSR 的 Cookies 问题
May 25 #Javascript
详解webpack4多入口、多页面项目构建案例
May 25 #Javascript
You might like
PHP 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
Yii框架关联查询with用法分析
2014/12/02 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
使用jquery读取html5 localstorage的值的方法
2013/01/04 Javascript
把jquery 的dialog和ztree结合实现步骤
2013/08/02 Javascript
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
谷歌地图打不开的解决办法
2014/08/07 Javascript
Node.js中npm常用命令大全
2016/06/09 Javascript
jQuery控制控件文本的长度的操作方法
2016/12/05 Javascript
vue基于Vue2.0和高德地图的地图组件实例
2017/04/28 Javascript
Django使用多数据库的方法
2017/09/06 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
彻底弄懂 JavaScript 执行机制
2018/10/23 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
uni-app 支持多端第三方地图定位的方法
2020/01/03 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
2020/04/26 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
如何手写简易的 Vue Router
2020/10/10 Javascript
python中文编码问题小结
2014/09/28 Python
python使用WMI检测windows系统信息、硬盘信息、网卡信息的方法
2015/05/15 Python
python实现简单中文词频统计示例
2017/11/08 Python
使用pip安装python库的多种方式
2019/07/31 Python
pytorch中获取模型input/output shape实例
2019/12/30 Python
详解Python修复遥感影像条带的两种方式
2020/02/23 Python
Selenium webdriver添加cookie实现过程详解
2020/08/12 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
2020/09/04 Python
Python使用pickle进行序列化和反序列化的示例代码
2020/09/22 Python
Python爬虫简单运用爬取代理IP的实现
2020/12/01 Python
美国美妆网站:B-Glowing
2016/10/12 全球购物
Cult Gaia官网:美国生活方式品牌
2019/08/16 全球购物
趣天网日本站:Qoo10 JP
2019/09/18 全球购物
教师个人剖析材料
2014/02/05 职场文书
公司总经理工作职责管理办法
2014/02/28 职场文书
个人向公司借款协议书
2014/10/09 职场文书
2015最新婚礼主持词
2015/06/30 职场文书