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 相关文章推荐
js快速排序的实现代码
Dec 08 Javascript
javascript闭包传参和事件的循环绑定示例探讨
Apr 17 Javascript
jquery.validate.js插件使用经验记录
Jul 02 Javascript
用jquery模仿的a的title属性的例子
Oct 22 Javascript
Javascript节点关系实例分析
May 15 Javascript
angularjs学习笔记之双向数据绑定
Sep 26 Javascript
解决JavaScript数字精度丢失问题的方法
Dec 03 Javascript
jQuery 更改checkbox的状态,无效的解决方法
Jul 22 Javascript
用最少的JS代码写出贪吃蛇游戏
Jan 12 Javascript
Angular4 组件通讯方法大全(推荐)
Jul 12 Javascript
Vue实现多标签选择器
Nov 28 Javascript
javascript实现滚轮轮播图片
Dec 13 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
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
js动态添加onload、onresize、onscroll事件(另类方法)
2012/12/26 Javascript
基于jquery扩展漂亮的下拉框可以二次修改
2013/11/19 Javascript
javascript去除字符串左右两端的空格
2015/02/05 Javascript
jQuery实现仿腾讯迷你首页选项卡效果代码
2015/09/17 Javascript
AngularJS入门教程之Scope(作用域)
2016/07/27 Javascript
angular ngClick阻止冒泡使用默认行为的方法
2016/11/03 Javascript
JS和jQuery通过this获取html标签中的属性值(实例代码)
2017/09/11 jQuery
解析Vue.js中的组件
2018/02/02 Javascript
jQuery仿移动端支付宝键盘的实现代码
2018/08/15 jQuery
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
vue获取data数据改变前后的值方法
2019/11/07 Javascript
[01:46]新英雄登场
2019/09/10 DOTA
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
2015/02/04 Python
利用Python绘制数据的瀑布图的教程
2015/04/07 Python
Python OS模块常用函数说明
2015/05/23 Python
python实现应用程序在右键菜单中添加打开方式功能
2017/01/09 Python
python中defaultdict的用法详解
2017/06/07 Python
[原创]Python入门教程3. 列表基本操作【定义、运算、常用函数】
2018/10/30 Python
Python数据预处理之数据规范化(归一化)示例
2019/01/08 Python
对python PLT中的image和skimage处理图片方法详解
2019/01/10 Python
详解Python3中ceil()函数用法
2019/02/19 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
Python算法中的时间复杂度问题
2019/11/19 Python
python自动脚本的pyautogui入门学习
2020/04/01 Python
Python OpenCV去除字母后面的杂线操作
2020/07/05 Python
Ajax的优点和缺点
2014/11/21 面试题
《愚公移山》教学反思
2014/02/20 职场文书
合作经营协议书
2014/04/17 职场文书
会计工作能力自我评价
2015/03/05 职场文书
2015年母亲节寄语
2015/03/23 职场文书
行政介绍信范文
2015/05/04 职场文书
培训感想范文
2015/08/07 职场文书
病假条格式范文
2015/08/17 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书