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 相关文章推荐
推荐20家国外的脚本下载网站
Apr 28 Javascript
uploadify 3.0 详细使用说明
Jun 18 Javascript
window.print打印指定div指定网页指定区域的方法
Aug 04 Javascript
js全选按钮的实现方法
Nov 17 Javascript
jquery html动态添加的元素绑定事件详解
May 24 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
Aug 23 Javascript
vue插件vue-resource的使用笔记(小结)
Aug 04 Javascript
vue移动端监听滚动条高度的实现方法
Sep 03 Javascript
vue-cli 打包使用history模式的后端配置实例
Sep 20 Javascript
详解写好JS条件语句的5条守则
Feb 28 Javascript
vue 实现搜索的结果页面支持全选与取消全选功能
May 10 Javascript
Vant+postcss-pxtorem 实现浏览器适配功能
Feb 05 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/04/22 PHP
php微信公众号开发之二级菜单
2018/10/20 PHP
弹出广告特效代码(一个IP只弹出一次)
2007/05/11 Javascript
jQuery的Ajax时无响应数据的解决方法
2010/05/25 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
js判断变量是否未定义的代码
2020/03/28 Javascript
用JS将搜索的关键字高亮显示实现代码
2013/11/08 Javascript
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
2015/02/15 Javascript
跟我学习javascript的prototype原型和原型链
2015/11/18 Javascript
JQuery日期插件datepicker的使用方法
2016/03/03 Javascript
js实现带农历和八字等信息的日历特效
2016/05/16 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
原生js实现打字动画游戏
2017/02/04 Javascript
基于angular实现模拟微信小程序swiper组件
2017/06/11 Javascript
基于jQuery Easyui实现登陆框界面
2017/07/10 jQuery
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
jQuery控制input只能输入数字和两位小数的方法
2019/05/16 jQuery
js中let能否完全替代IIFE
2019/06/15 Javascript
JS常见错误(Error)及处理方案详解
2020/07/02 Javascript
python时间整形转标准格式的示例分享
2014/02/14 Python
python判断windows隐藏文件的方法
2014/03/21 Python
Python中循环引用(import)失败的解决方法
2018/04/22 Python
django中静态文件配置static的方法
2018/05/20 Python
Python实例方法、类方法、静态方法的区别与作用详解
2019/03/25 Python
python实现简单五子棋游戏
2019/06/18 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
PyQt5多线程防卡死和多窗口用法的实现
2020/09/15 Python
4款Python 类型检查工具,你选择哪个呢?
2020/10/30 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
2021/02/04 Python
Python中生成ndarray实例讲解
2021/02/22 Python
杭州-DOTNET笔试题集
2013/09/25 面试题
工商管理专业学生的自我评价
2013/10/01 职场文书
技术入股合作协议书
2014/10/07 职场文书
2015幼儿园庆元旦活动方案
2014/12/09 职场文书
学生退学证明
2015/06/23 职场文书
基于python定位棋子位置及识别棋子颜色
2021/07/26 Python