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查找法实现当前栏目的高亮显示的代码
Nov 24 Javascript
javascript中的new使用
Mar 20 Javascript
IE下支持文本框和密码框placeholder效果的JQuery插件分享
Jan 31 Javascript
浅析javascript的return语句
Dec 15 Javascript
全国省市二级联动下拉菜单 js版
May 10 Javascript
Bootstrap如何激活导航状态
Mar 22 Javascript
vue 国际化 vue-i18n 双语言 语言包
Jun 07 Javascript
Vue-component全局注册实例
Sep 06 Javascript
JavaScript中的类型检查
Feb 03 Javascript
微信小程序实现翻牌抽奖动画
Sep 21 Javascript
Vue单页面应用中实现Markdown渲染
Feb 14 Vue.js
如何使JavaScript休眠或等待
Apr 27 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多文件上传实现代码
2014/02/20 PHP
PHP CURL 多线程操作代码实例
2015/05/13 PHP
Linux系统递归生成目录中文件的md5的方法
2015/06/29 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
用jQuery扩展自写的 UI导航
2010/01/13 Javascript
jquery中获取元素里某一特定子元素的代码
2014/12/02 Javascript
Bootstrap~多级导航(级联导航)的实现效果【附代码】
2016/03/08 Javascript
javascript数组遍历的方法实例分析
2016/09/13 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
微信小程序开发之相册选择和拍照详解及实例代码
2017/02/22 Javascript
javascript编程开发中取色器及封装$函数用法示例
2017/08/09 Javascript
jQuery实现菜单栏导航效果
2017/08/15 jQuery
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
解决layer 关闭当前弹窗 关闭遮罩层 input值获取不到的问题
2019/09/25 Javascript
Vue Cli3 打包配置并自动忽略console.log语句的方法
2020/04/23 Javascript
ssm+vue前后端分离框架整合实现(附源码)
2020/07/08 Javascript
[02:40]DOTA2殁境神蚀者 英雄基础教程
2013/11/26 DOTA
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
[06:37]2014DOTA2国际邀请赛 昔日王者渴望重回巅峰
2014/07/12 DOTA
Django imgareaselect手动剪切头像实现方法
2015/05/26 Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
2016/05/27 Python
Python中分支语句与循环语句实例详解
2018/09/13 Python
对python判断ip是否可达的实例详解
2019/01/31 Python
python单线程文件传输的实例(C/S)
2019/02/13 Python
Django实现前台上传并显示图片功能
2020/05/29 Python
英国最大的户外商店:Go Outdoors
2019/04/17 全球购物
Roxy俄罗斯官方网站:冲浪和滑雪板的一切
2020/06/20 全球购物
工程管理专业个人求职信范文
2013/12/07 职场文书
小学教师培训感言
2014/02/11 职场文书
《雨霖铃》听课反思
2014/02/13 职场文书
离职报告格式
2014/11/04 职场文书
学生会生活部工作总结2015
2015/03/31 职场文书
2015年环保局工作总结
2015/05/22 职场文书
史上最全书信经典范文大全(建议收藏)
2019/07/10 职场文书
Pandas-DataFrame知识点汇总
2022/03/16 Python
《黑岩★★射手 DAWN FALL》BD发售宣传CM公开
2022/04/04 日漫