利用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学习资源站点
Aug 29 Javascript
jQuery 1.5.1 发布,全面支持IE9 修复大量bug
Feb 26 Javascript
javascript中2个感叹号的用法实例详解
Sep 04 Javascript
Javascript连接Access数据库完整实例
Aug 03 Javascript
KnockoutJS 3.X API 第四章之表单textInput、hasFocus、checked绑定
Oct 11 Javascript
实现一个简单的vue无限加载指令方法
Jan 10 Javascript
使用openSpeDiv方法实现Ecshop登录弹窗框效果
Mar 13 Javascript
webpack2.0搭建前端项目的教程详解
Apr 05 Javascript
Angular实现响应式表单
Aug 04 Javascript
Angular搜索场景中使用rxjs的操作符处理思路
May 30 Javascript
react+ant design实现Table的增、删、改的示例代码
Dec 27 Javascript
如何使用jQuery操作Cookies方法解析
Sep 08 jQuery
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 strlen mb_strlen计算中英文混排字符串长度
2009/07/10 PHP
php实现给二维数组中所有一维数组添加值的方法
2017/02/04 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
PHP+Ajax实现的检测用户名功能简单示例
2019/02/12 PHP
js版本A*寻路算法
2006/12/22 Javascript
用 JSON 处理缓存
2007/04/27 Javascript
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
2013/11/18 Javascript
AngularJS前端页面操作之用户修改密码功能示例
2017/03/27 Javascript
jquery实现图片上传前本地预览
2017/04/28 jQuery
JS解决IOS中拍照图片预览旋转90度BUG的问题
2017/09/13 Javascript
layui中layer前端组件实现图片显示功能的方法分析
2017/10/13 Javascript
基于vue实现网站前台的权限管理(前后端分离实践)
2018/01/13 Javascript
jQuery实现的老虎机跑动效果示例
2018/12/29 jQuery
electron实现静默打印的示例代码
2019/08/12 Javascript
详解Vue的ref特性的使用
2020/01/24 Javascript
Vue3不支持Filters过滤器的问题
2020/09/24 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
如何在JavaScript中正确处理变量
2020/12/25 Javascript
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
python爬虫获取京东手机图片的图文教程
2017/12/29 Python
Python常见数字运算操作实例小结
2019/03/22 Python
Python解析json时提示“string indices must be integers”问题解决方法
2019/07/31 Python
在OpenCV里使用Camshift算法的实现
2019/11/22 Python
python 读取二进制 显示图片案例
2020/04/24 Python
几个Linux面试题笔试题
2012/12/01 面试题
专业实习自我鉴定
2013/10/29 职场文书
一份婚庆公司创业计划书
2014/01/11 职场文书
迎新晚会主持词
2014/03/24 职场文书
毕业评语大全
2014/05/04 职场文书
奥巴马就职演讲稿
2014/05/15 职场文书
春秋淹城导游词
2015/02/11 职场文书
小学总务工作总结
2015/08/13 职场文书
PHP 技巧 * SVG 保存为图片(分享图生成)
2021/04/02 PHP
JS Object构造函数之Object.freeze
2021/04/28 Javascript
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL