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 相关文章推荐
又一个小巧的图片预加载类
May 05 Javascript
jQuery get和post 方法传值注意事项
Nov 03 Javascript
jQuery验证Checkbox是否选中的代码 推荐
Sep 04 Javascript
setTimeout函数兼容各主流浏览器运行执行效果实例
Jun 13 Javascript
JS中引用百度地图并将百度地图的logo和信息去掉
Sep 29 Javascript
js键盘上下左右键怎么触发function(实例讲解)
Dec 14 Javascript
纯js和css实现渐变色包括静态渐变和动态渐变
May 29 Javascript
jquery分析文本里url或邮件地址为真实链接的方法
Jun 20 Javascript
Jquery实现仿京东商城省市联动菜单
Nov 19 Javascript
JavaScript中绑定事件的三种方式及去除绑定
Nov 05 Javascript
详解vue2.0脚手架的webpack 配置文件分析
May 27 Javascript
react-native fetch的具体使用方法
Nov 01 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清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
PHP互换两个变量值的方法(不用第三变量)
2016/11/14 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
PHP判断是否是微信打开还是浏览器打开的方法
2019/02/27 PHP
jquery中的$(document).ready()与window.onload的区别
2009/11/18 Javascript
模仿JQuery.extend函数扩展自己对象的js代码
2009/12/09 Javascript
jquery中this的使用说明
2010/09/06 Javascript
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
js简单实现用户注册信息的校验代码
2013/11/15 Javascript
jQuery实现的输入框选择时间插件用法实例
2015/02/28 Javascript
详解JavaScript ES6中的模板字符串
2015/07/28 Javascript
JavaScript脚本库编写的方法
2015/12/09 Javascript
JavaScript实现Base64编码转换
2016/04/23 Javascript
jquery之别踩白块游戏的简单实现
2016/07/25 Javascript
js将字符串中的每一个单词的首字母变为大写其余均为小写
2017/01/05 Javascript
Angular.JS实现无限级的联动菜单(使用demo)
2017/02/08 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
vue最简单的前后端交互示例详解
2018/10/11 Javascript
JavaScript模板引擎实现原理实例详解
2018/12/14 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
用Python的pandas框架操作Excel文件中的数据教程
2015/03/31 Python
Python黑魔法@property装饰器的使用技巧解析
2016/06/16 Python
python+selenium识别验证码并登录的示例代码
2017/12/21 Python
详解django自定义中间件处理
2018/11/21 Python
Django模板导入母版继承和自定义返回Html片段过程解析
2019/09/18 Python
Spring Cloud Feign高级应用实例详解
2019/12/10 Python
Python如何实现远程方法调用
2020/08/07 Python
HTML5实现视频弹幕功能
2019/08/09 HTML / CSS
SneakerStudio英国:最佳运动鞋商店
2019/05/22 全球购物
欧洲著名的二手奢侈品网站:Vestiaire Collective
2020/03/07 全球购物
个人求职简历的自我评价
2013/10/19 职场文书
黄金搭档广告词
2014/03/21 职场文书
贷款担保申请书
2014/05/20 职场文书
高中生学习计划书
2014/09/15 职场文书