利用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 相关文章推荐
capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
May 24 Javascript
jquery easyui 对于开始时间小于结束时间的判断示例
Mar 22 Javascript
基于JQuery实现仿网易邮箱全屏动感滚动插件fullPage
Sep 20 Javascript
jQuery图片旋转插件jQueryRotate.js用法实例(附demo下载)
Jan 21 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
Oct 26 Javascript
React-intl 实现多语言的示例代码
Nov 03 Javascript
js实现一个简单的MVVM框架示例
Jan 15 Javascript
微信小程序自定义prompt组件步骤详解
Jun 12 Javascript
详解Angularjs 自定义指令中的数据绑定
Jul 19 Javascript
Vue 项目分环境打包的方法示例
Aug 03 Javascript
微信小程序嵌入腾讯视频源过程详解
Aug 08 Javascript
package.json配置文件构成详解
Aug 27 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文件打包 下载之使用PHP自带的ZipArchive压缩文件并下载打包好的文件
2012/06/13 PHP
PHP获取网址的顶级域名函数代码
2012/09/24 PHP
PHP_Cooikes不同页面无法传递的解决方法
2014/03/07 PHP
zf框架的校验器InArray使用示例
2014/03/13 PHP
PHP实现XML与数据格式进行转换类实例
2015/07/29 PHP
教你识别简单的免查杀PHP后门
2015/09/13 PHP
PHPMAILER实现PHP发邮件功能
2018/04/18 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
Yii Framework框架开发微信公众平台示例
2020/04/26 PHP
js菜单点击显示或隐藏效果的简单实例
2014/01/13 Javascript
escape编码与unescape解码汉字出现乱码的解决方法
2014/07/02 Javascript
运行Node.js的IIS扩展iisnode安装配置笔记
2015/03/02 Javascript
在AngularJS应用中实现一些动画效果的代码
2015/06/18 Javascript
json对象与数组以及转换成js对象的简单实现方法
2016/06/24 Javascript
BootStrap框架中的data-[ ]自定义属性理解(推荐)
2017/02/14 Javascript
Angular2入门--架构总览
2017/03/29 Javascript
Vue2.0实现将页面中表格数据导出excel的实例
2017/08/09 Javascript
vue中的模态对话框组件实现过程
2018/05/01 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
Element Collapse 折叠面板的使用方法
2020/07/26 Javascript
[06:21]完美世界亚洲区首席发行官竺琦TI3采访
2013/08/26 DOTA
Python Matplotlib库入门指南
2015/05/18 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
Python实现使用卷积提取图片轮廓功能示例
2018/05/12 Python
用python建立两个Y轴的XY曲线图方法
2019/07/08 Python
深入浅析python变量加逗号,的含义
2020/02/22 Python
python实现音乐播放和下载小程序功能
2020/04/26 Python
Pycharm如何自动生成头文件注释
2020/11/14 Python
美国旅游网站:Tours4Fun
2017/02/17 全球购物
《鸟的天堂》教学反思
2014/02/27 职场文书
实习评语大全
2014/04/26 职场文书
公司人事任命通知
2015/04/20 职场文书
2015年秋季校长开学典礼致辞
2015/07/29 职场文书
Go语言 go程释放操作(退出/销毁)
2021/04/30 Golang
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js