利用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 相关文章推荐
javascript+iframe 实现无刷新载入整页的代码
Mar 17 Javascript
jquery CSS选择器笔记
Mar 29 Javascript
JavaScript自定义事件介绍
Aug 29 Javascript
20条学习javascript的编程规范的建议
Nov 28 Javascript
javascript中键盘事件用法实例分析
Jan 30 Javascript
Angularjs注入拦截器实现Loading效果
Dec 28 Javascript
30分钟快速掌握Bootstrap框架
May 24 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
Feb 28 Javascript
JavaScript取得gridview中获取checkbox选中的值
Jul 24 Javascript
vue+axios实现post文件下载
Sep 25 Javascript
Vue 实现把表单form数据 转化成json格式的数据
Oct 29 Javascript
微信小程序用户盒子、宫格列表的实现
Jul 01 Javascript
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
咖啡豆的最常见发酵处理方法,详细了解一下
2021/03/03 冲泡冲煮
通俗易懂的php防注入代码
2010/04/07 PHP
PhpStorm+xdebug+postman调试技巧分享
2020/09/15 PHP
JavaScript 动态添加表格行 使用模板、标记
2009/10/24 Javascript
各浏览器对link标签onload/onreadystatechange事件支持的差异分析
2011/04/27 Javascript
Javascript 面向对象(二)封装代码
2012/05/23 Javascript
html超链接打开窗口大小的方法
2013/03/05 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
2013/06/08 Javascript
js查找某元素中的所有图片地址的方法
2014/01/16 Javascript
Jquery实现仿腾讯娱乐频道焦点图(幻灯片)特效
2015/03/06 Javascript
javascript三元运算符用法实例
2015/04/16 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
2016/05/18 Javascript
JS变量中有var定义和无var定义的区别以及es6中let命令和const命令
2017/02/19 Javascript
JavaScript实现三级联动效果
2017/07/15 Javascript
angular动态删除ng-repaeat添加的dom节点的方法
2017/07/20 Javascript
JavaScript中关于base64的一些事
2019/05/06 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
[01:02:47]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.21.mp4
2020/07/19 DOTA
Python函数的周期性执行实现方法
2016/08/13 Python
django模型层(model)进行建表、查询与删除的基础教程
2017/11/21 Python
Python中print函数简单使用总结
2019/08/05 Python
pytorch实现用Resnet提取特征并保存为txt文件的方法
2019/08/20 Python
关于matplotlib-legend 位置属性 loc 使用说明
2020/05/16 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
Myprotein丹麦官网:欧洲第一运动营养品牌
2019/04/15 全球购物
北京泡泡网网络有限公司.net面试题
2012/07/17 面试题
办公室文秘岗位职责
2013/11/15 职场文书
医学实习生自我鉴定
2013/12/12 职场文书
保密工作承诺书
2014/08/29 职场文书
群众路线教育党员自我剖析材料
2014/10/06 职场文书
学校党风廉政建设调研报告
2015/01/01 职场文书
护士年终工作总结不会写?各科护士模板总结
2020/01/02 职场文书
MySQL中B树索引和B+树索引的区别详解
2022/03/03 MySQL
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android
nginx容器方式反向代理实战
2022/04/18 Servers