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

JavaScript動態(tài)檢驗密碼強度的實現(xiàn)方法

 更新時間:2016年11月09日 09:46:49   作者:sunshine6  
平時我們會在某些網(wǎng)站的注冊頁面或者更改密碼的頁面發(fā)現(xiàn)當我們輸入密碼時,會有一個類似于進度條的長條進行提示用戶輸入的密碼強度。那么這種效果怎么實現(xiàn)的呢?下面小編給大家介紹下js動態(tài)檢驗密碼強度的實現(xiàn)方法,一起看看吧

平時我們會在某些網(wǎng)站的注冊頁面或者更改密碼的頁面發(fā)現(xiàn)當我們輸入密碼時,會有一個類似于進度條的長條進行提示用戶輸入的密碼強度。如下圖:

我看到有些人用幾張不同的圖片來替換,這樣似乎可以,但是不太好。所以我通過其他方式實現(xiàn)。

實質(zhì)上這是根據(jù)用戶輸入的不同密碼強度來改變 顏色區(qū)域的長度。

密碼強度這個橫條實質(zhì)是一個div,其他標記也可以,div里面有一個span標記,我就是通過改變span的長度和顏色來表現(xiàn)密碼的強度的。原理很簡單,但是在操作過程中,可能會遇到一些問題很頭疼。

1.先在html頁面里面定義一個輸入框用于輸入密碼,一個一個div,在div里面放一個span標簽并且設(shè)置相應(yīng)的屬性,type,name,value,class,id等

<font color="#FF0000">*</font>密碼:<input type="text" name="password" id="password" value="請輸入密碼" onfocus=" passwordClear()" onblur="pwdComplex(),passwordValidate()" onkeyup="pwdComplex()" /></td><td><font id="pwdTip">不少于6位字符</font><br/>

2 密碼強度:

<div class="pwdStrongth"><span class="cinnerprogress" id="innerprogress"></span></div><font id="strongthTip"></font>

2.給標簽設(shè)置相應(yīng)的css,來控制標簽的樣式,使其感覺漂亮一點:

<style type="text/css">
/*用于修飾密碼強度條外邊框div*/
.pwdStrongth{
border:solid 1px #000000;
border-radius:5px;
height:15px;
width:150px;}
/*用于設(shè)置span標簽的初始樣式*/
.cinnerprogress{ 
display: block;
height: 100%;
background-color:transparent;
border-radius: 5px;
width: 100%;
}
/*下面四個將用于設(shè)置span標簽在不同密碼強度的樣式*/
.strengthLv1{ 
display: block;
height: 100%;
border-radius: 5px;
background:red;width:25%;}
.strengthLv2{
display: block;
height: 100%;
border-radius: 5px;
background:orange;width:50%;}
.strengthLv3{
display: block;
height: 100%;
border-radius: 5px;
background:#09F;width:75%;}
.strengthLv4{
display: block;
height: 100%;
border-radius: 5px;
background:green;width:100%;}
</style>

3.寫相應(yīng)的JavaScript方法通過檢測用戶輸入的密碼強度來調(diào)用不同的樣式來表現(xiàn)密碼強度,密碼強度的規(guī)則可以自己隨意定義,只需在密碼輸入框的onblur(失去焦點)事件和onkeyup(按下鍵盤上來之后)事件調(diào)用下面的方法即可:

function pwdComplex()//用于判斷密碼強度的
{
var pwdobj=document.getElementById("password"); //獲取密碼輸入框?qū)ο?
var pwdTip=document.getElementById("pwdTip");//獲取密碼提示文字對象
var pwdprogress=document.getElementById("innerprogress"); //獲取span標簽對象
var strongthTip=document.getElementById("strongthTip");//獲取密碼強度提示文字的對象
var regxs = new Array();//定義一個數(shù)組用于存放不同的正則表達式
regxs[0]=/[^a-zA-Z0-9_]/g;
regxs[1]=/[a-z]/g;
regxs[2]=/[0-9]/g;
regxs[3]=/[A-Z]/g;
var val = pwdobj.value;//獲取用戶輸入的密碼
var len = val.length;//獲取用戶輸入的密碼長度
var sec = 0; //定義一個變量用于存放密碼強度
if (len >= 6) //用于判斷用戶輸入的密碼強度
{ // 至少六個字符
for (var i = 0; i < regxs.length; i++) //遍歷所有正則表達式,檢測用戶輸入的密碼符合哪些正則表達式,如果符合則強度+1
{
if (val.match(regxs[i])) 
{
sec++;
}
}
}
if(sec==0) //通過不同的密碼強度調(diào)用不同的樣式
{
strongthTip.innerText="";
//setAttribute("class", "className")中class是指改變class這個屬性,所以要帶引號,className是span標簽的類名,也是對應(yīng)的樣式名
pwdprogress.setAttribute("class","cinnerprogress");
}
else if(sec==1)
{
strongthTip.innerText="強度:弱";
strongthTip.style.color="red";
pwdprogress.setAttribute("class","strengthLv1");
}
else if(sec==2)
{
strongthTip.innerText="強度:中"; 
strongthTip.style.color="orange";
pwdprogress.setAttribute("class","strengthLv2");
}
else if(sec==3)
{
strongthTip.innerText="強度:強"; 
strongthTip.style.color="#09F";
pwdprogress.setAttribute("class","strengthLv3");
}
else if(sec==4)
{
strongthTip.innerText="強度:超強"; 
strongthTip.style.color="green";
pwdprogress.setAttribute("class","strengthLv4");
}
}

以上所述是小編給大家介紹的JavaScript動態(tài)檢驗密碼強度的實現(xiàn)方法,實現(xiàn)一個模擬后臺數(shù)據(jù)登入的效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論