真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

JavaScript中怎么評估用戶輸入密碼的強度

這篇文章給大家介紹JavaScript中怎么評估用戶輸入密碼的強度,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

10年積累的成都做網(wǎng)站、網(wǎng)站制作經(jīng)驗,可以快速應對客戶對網(wǎng)站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡服務。我雖然不認識你,你也不認識我。但先網(wǎng)站策劃后付款的網(wǎng)站建設流程,更有龍泉免費網(wǎng)站建設讓你可以放心的選擇與我們合作。

原有代碼請查看:

                       //CharMode函數(shù)   function CharMode(iN) {              if (iN >=48&& iN <=57) //數(shù)字  return1;              if (iN >=65&& iN <=90) //大寫字母  return2;              if (iN >=97&& iN <=122) //小寫  return4;              else                  return8; //特殊字符           }           //bitTotal函數(shù)   function bitTotal(num) {              modes =0;              for (i =0; i <4; i++) {                  if (num &1) modes++;                  num >>>=1;              }              return modes;          }           //checkStrong函數(shù)   function checkStrong(sPW) {              if (sPW.length <=4)                  return0; //密碼太短              Modes =0;              for (i =0; i < sPW.length; i++) {                  Modes |= CharMode(sPW.charCodeAt(i));              }              return bitTotal(Modes);          }            //pwStrength函數(shù)   function pwStrength(pwd) {              O_color ="#eeeeee";              L_color ="#FF0000";              M_color ="#FF9900";              H_color ="#33CC00";              if (pwd ==null|| pwd =='') {                  Lcolor = Mcolor = Hcolor = O_color;              } else {                  S_level = checkStrong(pwd);                  switch (S_level) {                      case0:                          Lcolor = Mcolor = Hcolor = O_color;                      case1:                          Lcolor = L_color;                          Mcolor = Hcolor = O_color;                          break;                      case2:                          Lcolor = Mcolor = M_color;                          Hcolor = O_color;                          break;                      default:                          Lcolor = Mcolor = Hcolor = H_color;                  }                   document.getElementById("strength_L").style.background = Lcolor;                  document.getElementById("strength_M").style.background = Mcolor;                  document.getElementById("strength_H").style.background = Hcolor;                  return;              }          }           輸入密碼:     
     密碼強度:                                             弱                                            中                                            強                                   

首先我們來改善一下上面博友的驗證函數(shù)為如下代碼:

var PagePage = Page || {};  PagePage.Utility = Page.Utility || {};  PagePage.Utility.Registration = Page.Utility.Registration || {};   //獲取密碼強度  Page.Utility.Registration.getPasswordLevel = function (password) {      if (password == null || password == '')          return 0;       if (password.length <= 4)          return 0; //密碼太短       var Modes = 0;      for (i = 0; i < password.length; i++) {          Modes |= CharMode(password.charCodeAt(i));      }      return bitTotal(Modes);       //CharMode函數(shù)       function CharMode(iN) {          if (iN >= 48 && iN <= 57) //數(shù)字              return 1;          if (iN >= 65 && iN <= 90) //大寫字母              return 2;          if (iN >= 97 && iN <= 122) //小寫              return 4;          else              return 8; //特殊字符       }       //bitTotal函數(shù)      function bitTotal(num) {          modes = 0;          for (i = 0; i < 4; i++) {              if (num & 1) modes++;              num >>>= 1;          }          return modes;      }  };

然后來創(chuàng)建View Model,但是引用Knockout之前,我們首先要引用Knockout的Js類庫(具體介紹請查看Knockout應用開發(fā)指南的系列教程)
View model代碼如下:

var viewModel = {      Password: ko.observable(""),      Ocolor: "#eeeeee"  };

對于密碼強度以及顏色的值依賴于密碼字符串的值,所以我們需要為他們聲明依賴屬性,代碼如下:

viewModel.PasswordLevel = ko.dependentObservable(function () {      return Page.Utility.Registration.getPasswordLevel(this.Password());  }, viewModel);   viewModel.Lcolor = ko.dependentObservable(function () {      //根據(jù)密碼強度判斷***個格顯示的背景色      return this.PasswordLevel() == 0 ? this.Ocolor : (this.PasswordLevel() == 1 ? "#FF0000" : (this.PasswordLevel() == 2 ? "#FF9900" : "#33CC00"))  }, viewModel);   viewModel.Mcolor = ko.dependentObservable(function () {      //根據(jù)密碼強度判斷第二個格顯示的背景色      return this.PasswordLevel() < 2 ? this.Ocolor : (this.PasswordLevel() == 2 ? "#FF9900" : "#33CC00")  }, viewModel);   viewModel.Hcolor = ko.dependentObservable(function () {      //根據(jù)密碼強度判斷第三個格顯示的背景色      return this.PasswordLevel() < 3 ? this.Ocolor : "#33CC00"  }, viewModel);

然后使用applyBindings方法將view model綁定到該頁面,你可以使用jQuery的ready函數(shù)來執(zhí)行該綁定代碼,也可以在頁面最下方執(zhí)行綁定代碼,我們這里使用了jQuery,代碼如下:

$((function () {      ko.applyBindings(viewModel);  }));

***,我們再看看這些值怎么動態(tài)綁定到HTML元素上的,請查看如下代碼(其中使用了afterkeydown代替了onKeyUp和onBlur):

 輸入密碼:   
 密碼強度:                弱         中         強       

然后就OK,運行代碼查看,一模一樣的功能展示出來了。

如果去掉為驗證而改善的代碼,總代碼肯定是比原有的方式少的。

完整版代碼如下:

                                 var PagePage = Page || {};          PagePage.Utility = Page.Utility || {};          PagePage.Utility.Registration = Page.Utility.Registration || {};           //獲取密碼強度          Page.Utility.Registration.getPasswordLevel =function (password) {              if (password ==null|| password =='')                  return0;               if (password.length <=4)                  return0; //密碼太短               var Modes =0;              for (i =0; i < password.length; i++) {                  Modes |= CharMode(password.charCodeAt(i));              }              return bitTotal(Modes);               //CharMode函數(shù)   function CharMode(iN) {                  if (iN >=48&& iN <=57) //數(shù)字  return1;                  if (iN >=65&& iN <=90) //大寫字母  return2;                  if (iN >=97&& iN <=122) //小寫  return4;                  else                      return8; //特殊字符               }               //bitTotal函數(shù)  function bitTotal(num) {                  modes =0;                  for (i =0; i <4; i++) {                      if (num &1) modes++;                      num >>>=1;                  }                  return modes;              }          };           var viewModel = {              Password: ko.observable(""),              Ocolor: "#eeeeee"          };           viewModel.PasswordLevel = ko.dependentObservable(function () {              return Page.Utility.Registration.getPasswordLevel(this.Password());          }, viewModel);           viewModel.Lcolor = ko.dependentObservable(function () {              //根據(jù)密碼強度判斷***個格顯示的背景色  returnthis.PasswordLevel() ==0?this.Ocolor : (this.PasswordLevel() ==1?"#FF0000" : (this.PasswordLevel() ==2?"#FF9900" : "#33CC00"))          }, viewModel);           viewModel.Mcolor = ko.dependentObservable(function () {              //根據(jù)密碼強度判斷第二個格顯示的背景色  returnthis.PasswordLevel() <2?this.Ocolor : (this.PasswordLevel() ==2?"#FF9900" : "#33CC00")          }, viewModel);           viewModel.Hcolor = ko.dependentObservable(function () {              //根據(jù)密碼強度判斷第二個格顯示的背景色  returnthis.PasswordLevel() <3?this.Ocolor : "#33CC00"          }, viewModel);           $((function () {              ko.applyBindings(viewModel);          }));                          輸入密碼:     
     密碼強度:                                             弱                                            中                                            強                                   

關于JavaScript中怎么評估用戶輸入密碼的強度就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


網(wǎng)站欄目:JavaScript中怎么評估用戶輸入密碼的強度
當前地址:http://weahome.cn/article/gddigc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部