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 相关文章推荐
统计出现最多的字符次数的js代码
Dec 03 Javascript
JS中处理与当前时间间隔的函数代码
May 23 Javascript
JavaScript获取FCK编辑器信息的具体方法
Jul 12 Javascript
jQuery插件实现大图全屏图片相册
Mar 14 Javascript
jQuery实现的AJAX简单弹出层效果代码
Nov 26 Javascript
如何使用jquery修改css中带有!important的样式属性
Apr 28 Javascript
使用three.js 画渐变的直线
Jun 05 Javascript
利用Vue.js指令实现全选功能
Sep 08 Javascript
移动端脚本框架Hammer.js
Dec 15 Javascript
JavaScript登录记住密码操作(超简单代码)
Mar 22 Javascript
jQuery提示框插件SweetAlert用法分析
Aug 05 jQuery
详解Vue的options
May 15 Vue.js
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环形链表实现方法示例
2017/09/15 PHP
ExtJs 3.1 XmlTreeLoader Example Error
2010/02/09 Javascript
ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
2010/06/12 Javascript
function foo的原型与prototype属性解惑
2010/11/19 Javascript
THREE.JS入门教程(1)THREE.JS使用前了解
2013/01/24 Javascript
纯js实现瀑布流展现照片(自动适应窗口大小)
2013/04/08 Javascript
javascript:FF/Chrome与IE动态加载元素的区别说明
2014/01/26 Javascript
如何设置一定时间内只能发送一次请求
2014/02/28 Javascript
jquery实现仿新浪微博评论滚动效果
2015/08/06 Javascript
小心!AngularJS结合RequireJS做文件合并压缩的那些坑
2016/01/09 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
详解nodejs express下使用redis管理session
2017/04/24 NodeJs
Vue.js 2.5新特性介绍(推荐)
2017/10/24 Javascript
Vue集成Iframe页面的方法示例
2017/12/12 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
vue 1.0 结合animate.css定义动画效果
2018/07/11 Javascript
详解微信小程序支付流程与梳理
2019/07/16 Javascript
使用Typescript和ES模块发布Node模块的方法
2020/05/25 Javascript
微信小程序订阅消息(java后端实现)开发
2020/06/01 Javascript
JavaScript本地储存:localStorage、sessionStorage、cookie的使用
2020/10/13 Javascript
详解Python中time()方法的使用的教程
2015/05/22 Python
python在不同层级目录import模块的方法
2016/01/31 Python
如何使用python爬取csdn博客访问量
2016/02/14 Python
使用PM2+nginx部署python项目的方法示例
2018/11/07 Python
浅析python的优势和不足之处
2018/11/20 Python
Python3中exp()函数用法分析
2019/02/19 Python
Python判断对象是否相等及eq函数的讲解
2019/02/25 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
python中bytes和str类型的区别
2019/10/21 Python
Python 实现自动完成A4标签排版打印功能
2020/04/09 Python
你需要学会的8个Python列表技巧
2020/06/24 Python
Python进行特征提取的示例代码
2020/10/15 Python
HTML5 textarea高度自适应的两种方案
2020/04/08 HTML / CSS
乡镇党的群众路线对照检查材料
2014/09/24 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
离婚起诉状范本
2015/05/19 职场文书