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 相关文章推荐
Array 重排序方法和操作方法的简单实例
Jan 24 Javascript
js设置document.domain实现跨域的注意点分析
May 21 Javascript
JQuery点击事件回到页面顶部效果的实现代码
May 24 Javascript
深入理解jQuery layui分页控件的使用
Aug 17 Javascript
AngularJS 模块化详解及实例代码
Sep 14 Javascript
web 前端常用组件之Layer弹出层组件
Sep 22 Javascript
js实现点击每个li节点,都弹出其文本值及修改
Dec 15 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
Feb 19 Javascript
jQuery基于cookie实现换肤功能实例
Oct 14 jQuery
create-react-app使用antd按需加载的样式无效问题的解决
Feb 26 Javascript
javascript获取select值的方法完整实例
Jun 20 Javascript
layui表单提交到后台自动封装到实体类的方法
Sep 12 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
Ubuntu12下编译安装PHP5.3开发环境
2015/03/27 PHP
PHP模拟QQ登录的方法
2015/07/29 PHP
教大家制作简单的php日历
2015/11/17 PHP
PHP实现的链式队列结构示例
2017/09/15 PHP
HR vs CL BO3 第一场 2.13
2021/03/10 DOTA
jquery $.ajax相关用法分享
2012/03/16 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
javascript实现的固定位置悬浮窗口实例
2015/04/30 Javascript
JavaScript为事件句柄绑定监听函数实例详解
2015/12/15 Javascript
深入浅析JSON.parse()、JSON.stringify()和eval()的作用详解
2016/04/03 Javascript
浅谈jQuery为哪般去掉了浏览器检测
2016/08/29 Javascript
JavaScript获取服务器端时间的方法
2016/11/29 Javascript
Vue.JS入门教程之列表渲染
2016/12/01 Javascript
JS中将多个逗号替换为一个逗号的实现代码
2017/06/23 Javascript
nodejs实现的简单web服务器功能示例
2018/03/15 NodeJs
nodeJs爬虫的技术点总结
2018/05/13 NodeJs
JS实现的视频弹幕效果示例
2018/08/17 Javascript
Vue CLI3搭建的项目中路径相关问题的解决
2018/09/17 Javascript
Vue.js 父子组件通信的十种方式
2018/10/30 Javascript
详解@angular/cli 改变默认启动端口两种方式
2018/11/29 Javascript
微信小程序分享海报生成的实现方法
2018/12/10 Javascript
JavaScript之实现一个简单的Vue示例
2019/01/17 Javascript
JS校验与最终登陆界面功能完整示例
2020/01/13 Javascript
vue props default Array或是Object的正确写法说明
2020/07/30 Javascript
Python利用IPython提高开发效率
2016/08/10 Python
python with提前退出遇到的坑与解决方案
2018/01/05 Python
mac下如何将python2.7改为python3
2018/07/13 Python
澳大利亚运动鞋零售商:The Athlete’s Foot
2018/11/04 全球购物
美国女士内衣在线折扣商店:One Hanes Place
2019/03/24 全球购物
ORLY官网:美国专业美甲一线品牌
2019/12/11 全球购物
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
应用数学自荐书范文
2013/11/24 职场文书
讲解员培训方案
2014/05/04 职场文书
考研复习计划
2015/01/19 职场文书
遗失说明具结保证书
2015/02/26 职场文书
有关保护环境的宣传标语100条
2019/08/07 职场文书