jQuery实现的生成随机密码代码实例简单介绍

我心飞翔 分类:实例代码

本章节介绍一下如何使用jQuery实现生成随机密码的效果。

有需要的朋友可以做一下参考,代码实例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.pipipi.net/" />
<title>前端教程网</title>
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
<script type="text/javascript">
$.extend({ 
  password: function (length, special) {
    var iteration = 0;
    var password = "";
    var randomNumber;
    if(special == undefined){
      var special = false;
    }
    while(iteration < length){
      randomNumber = (Math.floor((Math.random() * 100)) % 94) + 33;
      if(!special){
        if ((randomNumber >=33) && (randomNumber <=47)) { continue; }
        if ((randomNumber >=58) && (randomNumber <=64)) { continue; }
        if ((randomNumber >=91) && (randomNumber <=96)) { continue; }
        if ((randomNumber >=123) && (randomNumber <=126)) { continue; }
      }
      iteration++;
      password += String.fromCharCode(randomNumber);
    }
    return password;
  }
});
 
$(document).ready(function(){
  $("#antzone").html($.password(8)+"<br/>"+$.password(12, true));
});
</script>
</head>
<body>
<div id="antzone"></div>
</body>
</html>

上面的实现了我们的要求,下面介绍一下它的实现过程。

一.代码注释:

(1).$.extend({}),扩展jQuery的静态方法。

(2).password: function (length, special) {},能够生成密码的函数,第一个参数是密码的长度,第二个参数表示密码中是否有特殊字符,可以除去undefined以外的任意值。

(3).var iteration = 0,此变量用来存储计数。

(4).var password = "",用来存储生成的密码。

(5).var randomNumber,此变量用来生成随机数。

(6).if(special == undefined){

  var special = false;

},判断是否传递了第二个参数,如果没有传递参数,或者就是传递的undefined吗,那么就将special值设置为false。

(7).while(iteration < length),进行while循环运算。

(8).randomNumber=(Math.floor((Math.random()*100)) % 94) + 33,获取随机数,值是0-126之间的(ASCII码对应的)。

(9).if(!special){

  if ((randomNumber >=33) && (randomNumber <=47)) { continue; }

  if ((randomNumber >=58) && (randomNumber <=64)) { continue; }

  if ((randomNumber >=91) && (randomNumber <=96)) { continue; }

  if ((randomNumber >=123) && (randomNumber <=126)) { continue; }

},如果不包含特殊字符,那么就会进行相应的区间控制,上面的几个区间的ASCII码值对应的都是特殊字符,直接跳过。

(10).iteration++,值加1。

(11).password += String.fromCharCode(randomNumber),获取对应的字符。

(12).return password,返回密码字符串。

二.相关阅读:

(1).Math.floor()方法可以参阅javascript Math.floor()一章节。

(2).Math.random()方法可以参阅js Math.random()一章节。

(3).String.fromCharCode()方法可以参阅javascript fromCharCode()一章节。

回复

我来回复
  • 暂无回复内容