利用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 混合的构造函数和原型方式,动态原型方式
Dec 07 Javascript
javascript 实现 秒杀,团购 倒计时展示的记录 分享
Jul 12 Javascript
JS获取IP、MAC和主机名的五种方法
Nov 14 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
Jun 09 Javascript
Vue实现自带的过滤器实例
Mar 09 Javascript
javaScript 连接打印机,打印小票的实例
Dec 29 Javascript
使用D3.js+Vue实现一个简单的柱形图
Aug 05 Javascript
vue项目中实现图片预览的公用组件功能
Oct 26 Javascript
layer弹出层倒计时关闭的实现方法
Sep 27 Javascript
JavaScript 如何在浏览器中使用摄像头
Dec 02 Javascript
为什么推荐使用JSX开发Vue3
Dec 28 Vue.js
Vite和Vue CLI的优劣
Jan 30 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
php计算一个文件大小的方法
2015/03/30 PHP
linux下php上传文件注意事项
2016/06/11 PHP
Yii框架表单提交验证功能分析
2017/01/07 PHP
php二维码生成以及下载实现
2017/09/28 PHP
JavaScript入门学习书籍推荐
2008/06/12 Javascript
JS的replace方法介绍
2012/10/20 Javascript
js弹出层永远居中实现思路及代码
2013/11/29 Javascript
js中function()使用方法
2013/12/24 Javascript
js+css实现的简单易用兼容好的分页
2013/12/30 Javascript
Iframe实现跨浏览器自适应高度解决方法
2014/09/02 Javascript
javascript实现checkbox全选的代码
2015/04/30 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
2015/11/02 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
jQuery滑动到底部加载下一页数据的实例代码
2017/05/22 jQuery
Bootstrap响应式导航由768px变成992px的实现代码
2017/06/15 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
一篇文章带你使用Typescript封装一个Vue组件(简单易懂)
2020/06/05 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
Python中的sort()方法使用基础教程
2017/01/08 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
2018/01/05 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
Python中的引用知识点总结
2019/05/20 Python
Python函数中参数是传递值还是引用详解
2019/07/02 Python
python SQLAlchemy 中的Engine详解
2019/07/04 Python
解决Django中多条件查询的问题
2019/07/18 Python
Python绘制全球疫情变化地图的实例代码
2020/04/20 Python
python能自学吗
2020/06/18 Python
python3.7调试的实例方法
2020/07/21 Python
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
护士见习期自我鉴定
2014/02/08 职场文书
2014年餐厅服务员工作总结
2014/11/18 职场文书
2015年评职称工作总结范文
2015/04/20 职场文书