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 YUI 读码日记之 YAHOO.util.Dom - Part.3
Mar 22 Javascript
Js数组的操作push,pop,shift,unshift等方法详细介绍
Dec 28 Javascript
iframe子页面获取父页面元素的方法
Nov 05 Javascript
jquery为页面增加快捷键示例
Jan 31 Javascript
js焦点文字滚动效果代码分享
Aug 25 Javascript
js性能优化技巧
Nov 29 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
Jan 09 Javascript
AngularJS创建一个上传照片的指令实例代码
Feb 24 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
Mar 28 Javascript
jsonp实现百度下拉框功能的方法分析
May 10 Javascript
如何使用JavaScript实现栈与队列
Jun 24 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
Dec 02 Vue.js
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
JAVA/JSP学习系列之二
2006/10/09 PHP
php强制下载类型的实现代码
2011/04/21 PHP
php中使用addslashes函数报错问题的解决方法
2013/02/06 PHP
php session的锁和并发
2016/01/22 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
php分页查询mysql结果的base64处理方法示例
2017/05/18 PHP
PHP过滤器 filter_has_var() 函数用法实例分析
2020/04/23 PHP
JS 实现双色表格实现代码
2009/11/24 Javascript
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
jquery里的each使用方法详解
2010/12/22 Javascript
基于jquery的二级联动菜单实现代码
2011/04/25 Javascript
javascript实现图片切换的幻灯片效果源代码
2012/12/12 Javascript
document.documentElement和document.body区别介绍
2013/09/16 Javascript
JS简单操作select和dropdownlist实例
2014/11/26 Javascript
基于jQuery Circlr插件实现产品图片360度旋转
2015/09/20 Javascript
利用JS实现点击按钮后图片自动切换的简单方法
2016/10/24 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
js实现贪吃蛇小游戏(容易理解)
2017/01/22 Javascript
Javascript中字符串相关常用的使用方法总结
2017/03/13 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
2017/12/20 Javascript
使用Vue CLI创建typescript项目的方法
2019/08/09 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
JavaScript实现滑块验证解锁
2021/01/07 Javascript
python实现局域网内实时通信代码
2019/12/22 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
Python中logging日志的四个等级和使用
2020/11/17 Python
CSS3弹性盒模型开发笔记(三)
2016/04/26 HTML / CSS
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
html5 figure和figcaption的使用方法
2018/09/10 HTML / CSS
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
Michael Kors香港官网:美国奢侈品品牌
2019/12/26 全球购物
科技节口号
2014/06/19 职场文书
《暗黑破坏神2:重制版》本周进行第一轮A测 目前可官网进行申请报名
2021/04/07 其他游戏
opencv读取视频并保存图像的方法
2021/06/04 Python
Pytorch可视化的几种实现方法
2021/06/10 Python