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 相关文章推荐
window.event.keyCode兼容IE和Firefox实现js代码
May 30 Javascript
js猜数字小游戏的简单实现代码
Jul 02 Javascript
javascript实现检验的各种规则
Jul 31 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
May 05 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
Sep 14 Javascript
jquery插件ContextMenu设置右键菜单
Mar 13 Javascript
Bootstrap模态框(Modal)实现过渡效果
Mar 17 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
Jun 12 Javascript
Angular使用动态加载组件方法实现Dialog的示例
May 11 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
May 03 Javascript
基于Fixed定位的框选功能的实现代码
May 13 Javascript
javascript中的offsetWidth、clientWidth、innerWidth及相关属性方法
May 14 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异常处理技术,顶级异常处理器
2012/06/13 PHP
浅析php过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
php以post形式发送xml的方法
2014/11/04 PHP
JS中Date日期函数中的参数使用介绍
2014/01/02 Javascript
JavaScript实现为input与textarea自定义hover,focus效果的方法
2015/08/21 Javascript
javascript实现五星评分功能
2015/11/10 Javascript
初步使用bootstrap快速创建页面
2016/03/03 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
JavaScript如何实现跨域请求
2016/08/05 Javascript
Bootstrap3多级下拉菜单
2017/02/24 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
2017/04/07 Javascript
让微信小程序支持ES6中Promise特性的方法详解
2017/06/13 Javascript
hammer.js实现图片手势放大效果
2017/08/29 Javascript
微信小程序websocket实现聊天功能
2020/03/30 Javascript
基于vue中对鼠标划过事件的处理方式详解
2018/08/22 Javascript
脚手架vue-cli工程webpack的作用和特点
2018/09/29 Javascript
jquery 时间戳转日期过程详解
2019/10/12 jQuery
webpack4 配置 ssr 环境遇到“document is not defined”
2019/10/24 Javascript
JavaScript中遍历的十种方法总结
2020/12/15 Javascript
Python 列表list使用介绍
2014/11/30 Python
Python中的groupby分组功能的实例代码
2018/07/11 Python
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
python 普通克里金(Kriging)法的实现
2019/12/19 Python
python文件和文件夹复制函数
2020/02/07 Python
selenium+python实现基本自动化测试的示例代码
2021/01/27 Python
HTML5中的Article和Section元素认识及使用
2013/03/22 HTML / CSS
美国中小型企业领先的办公家具供应商:Office Designs
2016/11/26 全球购物
为什么UNION ALL比UNION快
2016/03/17 面试题
应届生.NET方向面试题
2015/05/23 面试题
2013届毕业生求职信范文
2013/11/20 职场文书
学校后勤人员职责
2013/12/27 职场文书
求职个人评价范文
2014/04/09 职场文书
2014年小学班主任工作总结
2014/11/08 职场文书
投诉信回复范文
2015/07/03 职场文书
纯CSS实现酷炫的霓虹灯效果
2021/04/13 HTML / CSS
go goroutine 怎样进行错误处理
2021/07/16 Golang