欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript實(shí)現(xiàn)密碼強(qiáng)度實(shí)時(shí)驗(yàn)證

 更新時(shí)間:2020年03月18日 11:35:42   作者:Echo_0502  
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)密碼強(qiáng)度實(shí)時(shí)驗(yàn)證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

JavaScript實(shí)現(xiàn)密碼強(qiáng)度實(shí)時(shí)驗(yàn)證,供大家參考,具體內(nèi)容如下

在網(wǎng)絡(luò)服務(wù)中,為了保證用戶的私密信息足夠安全,會(huì)要求用戶輸入具有一定安全級(jí)別的密碼,這樣可以更好的防止他人盜用。比如在注冊(cè)一些游戲賬號(hào)時(shí),如果輸入純數(shù)字或純英文字符低于6位,就會(huì)提示密碼強(qiáng)度太低,請(qǐng)重新輸入。一些密碼強(qiáng)度驗(yàn)證的方法都是計(jì)算字符的類型,然后分類加權(quán)累算。權(quán)重越高,相應(yīng)的強(qiáng)度也就越高。

具體的寫法及實(shí)現(xiàn)方式有很多種,本文只介紹其中一種方案

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>密碼強(qiáng)度實(shí)時(shí)驗(yàn)證</title>

</head>
<body>
 <h2>密碼強(qiáng)度實(shí)時(shí)驗(yàn)證</h2>
 <input id="passwordStrength" data-hint='請(qǐng)輸入密碼' type="password" ><span id="showStrength"></span>

 <script type="text/javascript">

  window.onload = function () {
   function setCss(_this,cssOption){
   //判斷節(jié)點(diǎn)類型
   if (!_this || _this.nodeType ===3 || _this.nodeType === 8 ||!_this.style) {
    return;
   }
   for(var cs in cssOption){
    _this.style[cs] = cssOption[cs];
   }
   return _this;
  } 

  function trim(chars){
   return (chars ||"").replace(/^(\s|\u00a0)+|(\s|\u00a0)+$/g,"");
  }
  function passwordStrength(passwordStrength,showStrength){
   var self = this;

   /*字符權(quán)重;
   數(shù)字1,字母2,其他字符為3
   當(dāng)密碼長(zhǎng)度小于6時(shí)不符合標(biāo)準(zhǔn)
   長(zhǎng)度>=6,強(qiáng)度小于10,強(qiáng)度弱
   長(zhǎng)度>=6,長(zhǎng)度>=10且<15,強(qiáng)度中
   長(zhǎng)度>=6,強(qiáng)度>=15,強(qiáng)*/
   passwordStrength.onkeyup = function(){
    var _color = ["red","yellow","orange","green"],
      msgs = ["密碼太短","弱","中","強(qiáng)"],
      _strength = 0,
      _v= trim(passwordStrength.value)
    _vL= _v.length,
      i=0;

    var charStrength = function(char){
     //計(jì)算單個(gè)字符強(qiáng)度
     if(char>=48 && char <=57){//數(shù)字
      return 1;
     }
     if(char>=97 && char<=122){//小寫
      return 2;
     }else{
      return 3; //特殊字符
     }
    }

    if(_vL<6){//計(jì)算模式
     showStrength.innerText = msgs[0];
     setCss(showStrength,{
      "color":_color[0]
     })
    }else{
     for(;i<_vL;i++){
      //遍歷字符
      _strength+=charStrength(_v.toLocaleLowerCase().charCodeAt(i));
     }
     if(_strength<10){
      //強(qiáng)度小于10
      showStrength.innerText = msgs[1];
      setCss(showStrength,{
       "color":_color[1]
      })
     }
     if(_strength>=10&&_strength<15){
      showStrength.innerText = msgs[2];
      setCss(showStrength,{
       "color":_color[2]
      })
     }
     if(_strength>=15){
      showStrength.innerText = msgs[3];
      setCss(showStrength,{
       "color":_color[3]
      })
     }
    }
   }
  }
  passwordStrength(
    document.getElementById("passwordStrength"),
    document.getElementById("showStrength"));

 };
 </script>
</body>
</html>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論