重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

JavaScript中怎么实现一个密码生成器

这期内容当中小编将会给大家带来有关JavaScript中怎么实现一个密码生成器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

站在用户的角度思考问题,与客户深入沟通,找到马鞍山网站设计与马鞍山网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、成都网站设计、企业官网、英文网站、手机端网站、网站推广、空间域名、雅安服务器托管、企业邮箱。业务覆盖马鞍山地区。

我为大家准备了一个密码生成工具,有0-9和a-k的英文字母组成,数字是乱序排列。字母随机一个替换掉一个数字,生成一个长度为10的密码。

                                    
                 
        void function(window,doc,undefined){        var array=[],text='abcdefghijk',key,password='',btn=doc.getElementById('strat'),textarea=doc.getElementById('password');             function unorderedArray(array){            if(({}).toString.call(array).indexOf('Array')===-1) return;            var arr=[],value=array.toString();            arr=array.sort(function(){return Math.random()>0.5?-1:1;});            (arr.toString()===value) && arguments.callee(array);            return arr;        }                  btn.onclick=function(){            key=Math.random().toFixed(1) * 10-1;            array=[0,1,2,3,4,5,6,7,8,9];            password=unorderedArray(array);            password[key]=text[key];            textarea.innerHTML=password.join('');        }    }(window,document);                  //console.log(unorderedArray(a));                 

怎样乱序排列数组,本人数学比较烂。搜索了一下给array的sort传入一个这样的函数。

sort真是强大啊。

function unorderedArray(array){          if(({}).toString.call(array).indexOf('Array')===-1) return;          var arr=[],value=array.toString();          arr=array.sort(function(){return Math.random()>0.5?-1:1;});          (arr.toString()===value) && arguments.callee(array);          return arr;  }

在用这个方法的时候要避免生成的数组和传入的数组一样,颇废了点功夫,因为数组是复杂类型,有修改所有的都会有变化。所以用一个变量去缓存了传入的数组的值value=array.toString(),然后我生成的数组的值比较一下如果相对就递归一次。保证生成的数组不是顺序的。

用下面的代码生成一个0-9的随机数序号

Math.random().toFixed(1) * 10-1;

用这个序号去获得a-k的一个字母,用这个字母去替换数组中序号相应位置的数字。

在用数组的join方法把获得的数组字符串化

password.join('');

上述就是小编为大家分享的JavaScript中怎么实现一个密码生成器了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


网页标题:JavaScript中怎么实现一个密码生成器
标题网址:http://cqcxhl.com/article/peggid.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP