利用javascript如何随机生成一定位数的密码


Posted in Javascript onSeptember 22, 2017

前言

本文主要给大家介绍了关于利用javascript随机生成一定位数密码的相关内容,分享出来供大家参考学习,下面话不多少,来一起看看详细的介绍吧。

需求

随机生成一定位数的密码,有最小个数和最大个数,必须包含数字、大小写字母,和特殊字符比如(- _ #);

代码

function createPassword(min,max) {
 //可以生成随机密码的相关数组
 var num = ["0","1","2","3","4","5","6","7","8","9"];
 var english = ["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"];
 var ENGLISH = ["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"];
 var special = ["-","_","#"];
 var config = num.concat(english).concat(ENGLISH).concat(special);

 //先放入一个必须存在的
 var arr = [];
 arr.push(getOne(num));
 arr.push(getOne(english));
 arr.push(getOne(ENGLISH));
 arr.push(getOne(special));

 //获取需要生成的长度
 var len = min + Math.floor(Math.random()*(max-min+1));

 for(var i=4; i<len; i++){
  //从数组里面抽出一个
  arr.push(config[Math.floor(Math.random()*config.length)]);
 }

 //乱序
 var newArr = [];
 for(var j=0; j<len; j++){
  newArr.push(arr.splice(Math.random()*arr.length,1)[0]);
 }

 //随机从数组中抽出一个数值
 function getOne(arr) {
  return arr[Math.floor(Math.random()*arr.length)];
 }

 return newArr.join("");
 }

使用

传入一个生成的密码的最小位数,和最大位数,即可返回一个随机密码

console.log(createPassword(8,15));

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jquery 注意事项与常用语法小结
Jun 07 Javascript
jQuery渐变发光导航菜单的实例代码
Mar 27 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
Apr 29 Javascript
javascript制作坦克大战全纪录(1)
Nov 27 Javascript
JavaScript中继承用法实例分析
May 16 Javascript
JS使用parseInt解析数字实现求和的方法
Aug 05 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
Nov 23 Javascript
js实现鼠标跟随运动效果
Aug 02 Javascript
vue指令做滚动加载和监听等
May 26 Javascript
webpack自动打包和热更新的实现方法
Jun 24 Javascript
微信小程序基础教程之worker线程的使用方法
Jul 15 Javascript
详解Vue的sync修饰符
May 15 Vue.js
ES6中新增的Object.assign()方法详解
Sep 22 #Javascript
Vee-Validate的使用方法详解
Sep 22 #Javascript
Js中async/await的执行顺序详解
Sep 22 #Javascript
Node.js自定义实现文件路由功能
Sep 22 #Javascript
详解bootstrap用dropdown-menu实现上下文菜单
Sep 22 #Javascript
javascript计算渐变颜色的实例
Sep 22 #Javascript
利用Node.js了解与测量HTTP所花费的时间详解
Sep 22 #Javascript
You might like
从wamp到xampp的升级之路
2015/04/08 PHP
在WordPress中实现评论头像的自定义默认和延迟加载
2015/11/24 PHP
PHP获取网站中各文章的第一张图片的代码示例
2016/05/20 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
PHP的PDO预定义常量讲解
2019/01/24 PHP
slice函数的用法 之不错的应用
2006/12/29 Javascript
jquery中通过过滤器获取表单元素的实现代码
2011/07/05 Javascript
js 操作select和option常用代码整理
2012/12/13 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
2014/08/15 Javascript
jQuery函数map()和each()介绍及异同点分析
2014/11/08 Javascript
jQuery的观察者模式详解
2014/12/22 Javascript
jQuery实现查找最近父节点的方法
2016/06/23 Javascript
Angular 4.x+Ionic3踩坑之Ionic 3.x界面传值详解
2018/03/13 Javascript
微信小程序实现星级评价效果
2018/12/28 Javascript
echarts大屏字体自适应的方法步骤
2019/07/12 Javascript
[39:32]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第二场
2014/05/23 DOTA
[01:38]完美世界高校联赛决赛花絮
2018/12/02 DOTA
Python实现的朴素贝叶斯分类器示例
2018/01/06 Python
python opencv检测目标颜色的实例讲解
2018/04/02 Python
浅谈Python中的全局锁(GIL)问题
2019/01/11 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
python Tkinter的图片刷新实例
2019/06/14 Python
Python动态声明变量赋值代码实例
2019/12/30 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
Python3爬虫关于识别检验滑动验证码的实例
2020/07/30 Python
HTML5 weui使用笔记
2019/11/21 HTML / CSS
Champion官网:美国冠军运动服装
2017/01/25 全球购物
shell程序中如何注释
2012/02/17 面试题
2014年预备党员学习两会心得体会
2014/03/17 职场文书
项目合作意向书模板
2014/07/29 职场文书
公安领导班子四风问题个人整改措施思想汇报
2014/10/09 职场文书
四风查摆问题自查报告
2014/10/10 职场文书
2015年万圣节活动总结
2015/03/24 职场文书
JavaScript 去重和重复次数统计
2021/03/31 Javascript
忆童年!用Python实现愤怒的小鸟游戏
2021/06/07 Python