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学习随笔(使用window和frame)的技巧
Mar 08 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
Dec 21 Javascript
js显示时间 js显示最后修改时间
Jan 02 Javascript
Javascript基础知识(二)事件
Sep 29 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(二)之数据支持json字符串、list集合
Aug 11 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
Nov 09 Javascript
jQuery源码分析之sizzle选择器详解
Feb 13 Javascript
vue组件如何被其他项目引用
Apr 13 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
Oct 15 jQuery
Vuejs监听vuex中值的变化的方法示例
Dec 02 Javascript
JS实现手写 forEach算法示例
Apr 29 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
Sep 04 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中$_SERVER的详细参数与说明
2008/07/29 PHP
PHP持久连接mysql_pconnect()函数使用介绍
2012/02/05 PHP
深入PHP nl2br()格式化输出的详解
2013/06/05 PHP
CSS常用网站布局实例
2008/04/03 Javascript
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
JavaScript高级程序设计 阅读笔记(十三) js定义类或对象
2012/08/14 Javascript
jQuery随机切换图片的小例子
2013/04/18 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
HTML5实现留言和回复页面样式
2015/07/22 Javascript
js模仿java的Map集合详解
2016/01/06 Javascript
window.open不被拦截的简单实现代码(推荐)
2016/08/04 Javascript
JavaScript生成验证码并实现验证功能
2016/09/24 Javascript
jquery实现百叶窗效果
2017/01/12 Javascript
jQuery的时间datetime控件在AngularJs中的使用实例(分享)
2017/08/17 jQuery
JS实现可视化文件上传
2018/09/08 Javascript
移动端如何用下拉刷新的方式实现上拉加载
2018/12/10 Javascript
vue cli3 配置proxy代理无效的解决
2019/10/30 Javascript
uni-app 组件里面获取元素宽高的实现
2019/12/27 Javascript
javascript前端和后台进行数据交互方法示例
2020/08/07 Javascript
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
用Python中的__slots__缓存资源以节省内存开销的方法
2015/04/02 Python
对于Python中线程问题的简单讲解
2015/04/03 Python
Python文件夹与文件的相关操作(推荐)
2016/07/25 Python
PyTorch的自适应池化Adaptive Pooling实例
2020/01/03 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
Python word文本自动化操作实现方法解析
2020/11/05 Python
美国畅销的跑步机品牌:ProForm
2017/02/06 全球购物
大学毕业生个人自荐信范文
2014/01/08 职场文书
财务会计大学生自我评价
2014/04/09 职场文书
企业总经理任命书
2014/06/05 职场文书
低碳环保标语
2014/06/12 职场文书
2014年生产管理工作总结
2014/12/23 职场文书
家属联谊会致辞
2015/07/31 职场文书
CPU不支持Windows11系统怎么办
2021/11/21 数码科技
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电