利用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 相关文章推荐
详解new function(){}和function(){}() 区别分析
Mar 22 Javascript
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
Oct 20 Javascript
js href的用法
May 13 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
Dec 11 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
Sep 21 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
Dec 05 Javascript
jQuery EasyUI之验证框validatebox实例详解
Apr 10 jQuery
jquery实现图片上传前本地预览
Apr 28 jQuery
node通过npm写一个cli命令行工具
Oct 12 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
Nov 22 Javascript
js实现简单选项卡功能
Mar 23 Javascript
小程序接入腾讯位置服务的详细流程
Mar 03 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获取微信基础接口凭证Access_token
2018/08/23 PHP
PHP创建对象的六种方式实例总结
2019/06/27 PHP
js监听表单value的修改同步问题,跨浏览器支持
2009/12/31 Javascript
10个基于jQuery或JavaScript的WYSIWYG 编辑器整理
2010/05/06 Javascript
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
javascript开发技术大全-第3章 js数据类型
2011/07/03 Javascript
浅谈Javascript事件模拟
2012/06/27 Javascript
JS无限极树形菜单,json格式、数组格式通用示例
2013/07/30 Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
2014/06/10 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
jQuery基于cookie实现的购物车实例分析
2015/12/24 Javascript
javascript中对象的定义、使用以及对象和原型链操作小结
2016/12/14 Javascript
nodejs学习笔记之路由
2017/03/27 NodeJs
JavaScript实现HTML5游戏断线自动重连的方法
2017/09/18 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
2018/01/17 Javascript
nodejs分离html文件里面的js和css的方法
2019/04/09 NodeJs
element实现合并单元格通用方法
2019/11/13 Javascript
python单链表实现代码实例
2013/11/21 Python
Python运维之获取系统CPU信息的实现方法
2018/06/11 Python
python中的for循环
2018/09/28 Python
对python捕获ctrl+c手工中断程序的两种方法详解
2018/12/26 Python
详解一种用django_cache实现分布式锁的方式
2019/09/01 Python
Python urlopen()和urlretrieve()用法解析
2020/01/07 Python
使用keras2.0 将Merge层改为函数式
2020/05/23 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
白俄罗斯大卖场:21vek.by
2019/07/25 全球购物
描述RIP和OSPF区别以及特点
2015/01/17 面试题
房地产员工找工作的自我评价
2013/11/15 职场文书
结婚典礼证婚词
2014/01/08 职场文书
《中国的气候》教学反思
2014/02/23 职场文书
小学生期末评语
2014/04/21 职场文书
小学生民族团结演讲稿
2014/08/27 职场文书
药品开票员岗位职责
2015/04/15 职场文书
2015年防汛工作总结
2015/05/15 职场文书
婚宴父母致辞
2015/07/27 职场文书
MySQL 重写查询语句的三种策略
2021/05/10 MySQL