利用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 相关文章推荐
JS获取鼠标坐标的实例方法
Jul 18 Javascript
原生javascript实现拖动元素示例代码
Sep 01 Javascript
最简单的JavaScript图片轮播代码(两种方法)
Dec 18 Javascript
jquery实现列表上下移动功能
Feb 25 Javascript
js事件处理程序跨浏览器解决方案
Mar 27 Javascript
javascript中利用柯里化函数实现bind方法
Apr 29 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
Dec 02 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
Mar 30 Javascript
详解javascript appendChild()的完整功能
Aug 18 Javascript
微信小程序入门之广告条实现方法示例
Dec 05 Javascript
JS实现换肤功能的方法实例详解
Jan 30 Javascript
AngularJS动态生成select下拉框的方法实例
Nov 17 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中调用其他系统http接口的方法说明
2014/02/28 PHP
zend framework框架中url大小写问题解决方法
2014/08/19 PHP
详细对比php中类继承和接口继承
2018/10/11 PHP
利用js对象弹出一个层
2008/03/26 Javascript
javaScript 数值型和字符串型之间的转换
2009/07/25 Javascript
Web开发者必备的12款超赞jQuery插件
2010/12/03 Javascript
在浏览器窗口上添加遮罩层的方法
2012/11/12 Javascript
javascript抖动元素的小例子
2013/10/28 Javascript
JavaScript点击按钮后弹出透明浮动层的方法
2015/05/11 Javascript
JavaScript缓冲运动实现方法(2则示例)
2016/01/08 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
React Native日期时间选择组件的示例代码
2018/04/27 Javascript
详解Vue-cli中的静态资源管理(src/assets和static/的区别)
2018/06/19 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
微信分享invalid signature签名错误踩过的坑
2020/04/11 Javascript
为react组件库添加typescript类型提示的方法
2020/06/15 Javascript
在antd Table中插入可编辑的单元格实例
2020/10/28 Javascript
python创建临时文件夹的方法
2015/07/06 Python
python实现word 2007文档转换为pdf文件
2018/03/15 Python
Python入门学习指南分享
2018/04/11 Python
Python列表生成式与生成器操作示例
2018/08/01 Python
python 搜索大文件的实例代码
2019/07/08 Python
Python爬虫如何破解JS加密的Cookie
2020/11/19 Python
CSS3 3D酷炫立方体变换动画的实现
2019/03/26 HTML / CSS
网络艺术零售业的先驱者:artrepublic
2017/09/26 全球购物
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
java程序员面试交流
2012/11/29 面试题
中专自荐信
2013/10/13 职场文书
无犯罪记录证明
2014/09/19 职场文书
销售开票员岗位职责
2015/04/15 职场文书
欠款纠纷起诉状
2015/05/19 职场文书
3招让你摆脱即兴讲话冷场尴尬
2019/08/08 职场文书
用Python提取PDF表格的方法
2021/04/11 Python
关于python类SortedList详解
2021/09/04 Python
【海涛DOTA解说】EVE女子战队独家录像加ZSMJ神牛两连发
2022/04/01 DOTA
Go并发4种方法简明讲解
2022/04/06 Golang