利用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 相关文章推荐
正则表达式语法
Oct 09 Javascript
JavaScript 学习笔记(十六) js事件
Feb 01 Javascript
jquery中dom操作和事件的实例学习 仿yahoo邮箱登录框的提示效果
Nov 30 Javascript
jQuery固定浮动侧边栏实现思路及代码
Sep 28 Javascript
jquery可定制的在线UEditor编辑器
Nov 17 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
Jan 29 Javascript
underscore之Collections_动力节点Java学院整理
Jul 10 Javascript
React Native 集成jpush-react-native的示例代码
Aug 16 Javascript
JS实现的简单表单验证功能完整实例
Oct 14 Javascript
JS实现对json对象排序并删除id相同项功能示例
Apr 18 Javascript
微信小程序基础教程之worker线程的使用方法
Jul 15 Javascript
微信小程序中悬浮窗功能的实现代码
Aug 02 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
Protoss兵种介绍
2020/03/14 星际争霸
用php实现像JSP,ASP里Application那样的全局变量
2007/01/12 PHP
教你如何开启shopnc b2b2c 伪静态
2014/10/21 PHP
thinkphp5使html5实现动态跳转的例子
2019/10/16 PHP
6个DIV 135或246间隔一秒轮番显示效果
2010/07/24 Javascript
juqery 学习之五 文档处理 包裹、替换、删除、复制
2011/02/11 Javascript
xml转json的js代码
2012/08/28 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
封装html的select标签的js操作实例
2013/07/02 Javascript
javascript数组详解
2014/10/22 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
2016/03/01 Javascript
Bootstrap基本样式学习笔记之图片(6)
2016/12/07 Javascript
JavaScript实现一个简易的计算器实例代码
2018/05/10 Javascript
js实现各浏览器全屏代码实例
2018/07/03 Javascript
CountUp.js数字滚动插件使用方法详解
2019/10/17 Javascript
Django中实现点击图片链接强制直接下载的方法
2015/05/14 Python
Python简单删除目录下文件以及文件夹的方法
2015/05/27 Python
使用python实现省市三级菜单效果
2016/01/20 Python
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
2017/04/11 Python
python dataframe 输出结果整行显示的方法
2018/06/14 Python
Python opencv实现人眼/人脸识别以及实时打码处理
2019/04/29 Python
html5 canvas实现圆形时钟代码分享
2013/12/25 HTML / CSS
让IE9以下版本的浏览器兼容HTML5的方法
2014/03/12 HTML / CSS
联想墨西哥官方网站:Lenovo墨西哥
2016/08/17 全球购物
英国哈罗德园艺:Harrod Horticultural
2020/03/31 全球购物
关于母亲节的感言
2014/02/04 职场文书
新农村建设典型材料
2014/05/31 职场文书
幼儿园教师师德师风演讲稿:我自豪我是一名幼师
2014/09/10 职场文书
公安领导班子四风问题个人整改措施思想汇报
2014/10/09 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
初中作文评语
2014/12/25 职场文书
亮剑观后感300字
2015/06/05 职场文书
MySQL EXPLAIN输出列的详细解释
2021/05/12 MySQL
解读Vue组件注册方式
2021/05/15 Vue.js
pytorch中的torch.nn.Conv2d()函数图文详解
2022/02/28 Python