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 相关文章推荐
使用ExtJS技术实现的拖动树结点
Aug 05 Javascript
Js 回车换行处理的办法及replace方法应用
Jan 24 Javascript
js 自动播放的实例代码
Nov 19 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
Mar 02 Javascript
jquery实现自定义图片裁剪功能【推荐】
Mar 08 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
Dec 27 Javascript
VUE 配置vue-devtools调试工具及安装方法
Sep 30 Javascript
详解用场景去理解函数柯里化(入门篇)
Apr 11 Javascript
10个最受欢迎的 JavaScript框架(推荐)
Apr 24 Javascript
JavaScript中的ES6 Proxy的具体使用
Jun 16 Javascript
JavaScript 替换所有匹配内容及正则替换方法
Feb 12 Javascript
关于JS中的作用域中的问题思考分享
Apr 06 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
PHP5下$_SERVER变量不再受magic_quotes_gpc保护的弥补方法
2012/10/31 PHP
smarty内置函数capture用法分析
2015/01/22 PHP
PHP实现加密的几种方式介绍
2015/02/22 PHP
php微信开发之图片回复功能
2018/06/14 PHP
Laravel框架实现定时发布任务的方法
2018/08/16 PHP
php图片裁剪函数
2018/10/31 PHP
php使用goto实现自动重启swoole、reactphp、workerman服务的代码
2020/04/13 PHP
Jquery插件 easyUI属性汇总
2011/01/19 Javascript
Extjs优化(一)删除冗余代码提高运行速度
2013/04/15 Javascript
学习使用bootstrap基本控件(table、form、button)
2016/04/12 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
2016/06/13 Javascript
实用jquery操作表单元素的简单代码
2016/07/04 Javascript
原生js实现网页顶部自动下拉/收缩广告效果
2017/01/20 Javascript
JavaScript实现简单的双色球(实例讲解)
2017/07/31 Javascript
angularjs实现table增加tr的方法
2018/02/27 Javascript
Angular项目如何升级至Angular6步骤全纪录
2018/09/03 Javascript
基于element-ui组件手动实现单选和上传功能
2018/12/06 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
vue3+typeScript穿梭框的实现示例
2020/12/29 Vue.js
[54:02]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 IG vs VGJ.T
2018/04/03 DOTA
学习python处理python编码问题
2011/03/13 Python
Python中的urllib模块使用详解
2015/07/07 Python
简单的python后台管理程序
2017/04/13 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
英国马莎百货印度官网:Marks & Spencer印度
2020/10/08 全球购物
资产评估专业学生的自我鉴定
2013/11/14 职场文书
军训的自我鉴定
2013/12/10 职场文书
给老婆的保证书范文
2014/04/28 职场文书
假释思想汇报范文
2014/10/11 职场文书
2014年教师思想工作总结
2014/12/03 职场文书
研究生给导师的自荐信
2015/03/06 职场文书
2015小学五年级班主任工作总结
2015/05/21 职场文书
反四风问题学习心得体会
2016/01/22 职场文书
python爬取企查查企业信息之selenium自动模拟登录企查查
2021/04/08 Python
Python多线程 Queue 模块常见用法
2021/07/04 Python