jQuery實現的生成隨機密碼程式碼例項簡單介紹

admin發表於2017-04-01

本章節介紹一下如何使用jQuery實現生成隨機密碼的效果。

有需要的朋友可以做一下參考,程式碼例項如下:

[HTML] 純文字檢視 複製程式碼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<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()一章節。

相關文章