利用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对象链式操作代码(jquery)
Jul 04 Javascript
汉化英文版的Dreamweaver CS5并自动提示jquery
Nov 25 Javascript
IE和Firefox的Javascript兼容性总结[推荐收藏]
Oct 19 Javascript
AngularJS实现元素显示和隐藏的几个案例
Dec 09 Javascript
jQuery增加和删除表格项目及实现表格项目排序的方法
May 30 Javascript
angular ng-click防止重复提交实例
Jun 16 Javascript
backbone简介_动力节点Java学院整理
Jul 14 Javascript
vue.js绑定事件监听器示例【基于v-on事件绑定】
Jul 07 Javascript
2019 年编写现代 JavaScript 代码的5个小技巧(小结)
Jan 15 Javascript
微信小程序动态显示项目倒计时
Jun 20 Javascript
Flexible.js可伸缩布局实现方法详解
Nov 13 Javascript
js闭包和垃圾回收机制示例详解
Mar 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
PHP分页显示制作详细讲解
2008/11/19 PHP
php 获取本机外网/公网IP的代码
2010/05/09 PHP
java微信开发之上传下载多媒体文件
2016/06/24 PHP
redirect_uri参数错误的解决方法(必看)
2017/02/16 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
php实现在线考试系统【附源码】
2018/09/18 PHP
JavaScript 继承详解(一)
2009/07/13 Javascript
JS中的substring和substr函数的区别说明
2013/05/07 Javascript
浅谈javascript的分号的使用
2015/05/12 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
js无法获取到html标签的属性的解决方法
2016/07/26 Javascript
NodeJS遍历文件生产文件列表功能示例
2017/01/22 NodeJs
Nuxt升级2.0.0时出现的问题(小结)
2018/10/08 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
2019/07/23 Javascript
JavaScript实现简单的图片切换功能(实例代码)
2020/04/10 Javascript
pymongo给mongodb创建索引的简单实现方法
2015/05/06 Python
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
python数据类型_元组、字典常用操作方法(介绍)
2017/05/30 Python
python如何获取列表中每个元素的下标位置
2019/07/01 Python
python3.7将代码打包成exe程序并添加图标的方法
2019/10/11 Python
python 解决flask uwsgi 获取不到全局变量的问题
2019/12/22 Python
TensorFlow2.0矩阵与向量的加减乘实例
2020/02/07 Python
利用Python裁切tiff图像且读取tiff,shp文件的实例
2020/03/10 Python
keras绘制acc和loss曲线图实例
2020/06/15 Python
用python读取xlsx文件
2020/12/17 Python
css3实现可拖动的魔方3d效果
2019/05/07 HTML / CSS
美国首屈一指的高品质珠宝设计师和零售商:Allurez
2018/01/23 全球购物
工商学院毕业生个人自我评价
2013/09/19 职场文书
汽车促销活动方案
2014/03/31 职场文书
教师对学生的寄语
2014/04/03 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
食品销售计划书
2014/04/26 职场文书
民事申诉状范本
2015/05/20 职场文书
CSS SandBox应用场景及常见问题
2022/06/25 HTML / CSS