首頁 >web前端 >js教程 >JavaScript趣題:密碼驗證

JavaScript趣題:密碼驗證

黄舟
黄舟原創
2017-02-04 15:25:591592瀏覽

你得驗證一段密碼確認它符合以下的條件:

1.至少6個字符長度

2.至少一個大寫字母

3.至少一個小寫字母

4.至少一個數字

5.除2,3,4點外的其他特殊字符,也就是說,只包含字母和數字

對於這一類驗證問題,正則無疑是首選,但如果不用正則,寫成驗證邏輯,也是可以的。

對於這個問題,我們分成兩項檢測:

根據第一點要求,建立長度檢測。

var lengthValid = function(pass){  
    return pass.length >= 6;  
};

依據第2,3,4,5點,建立內容偵測函數。


它的邏輯是這樣的:統計密碼字串內的大小寫字母,數字的個數,如果遇到特殊符號,直接回傳false。

var contentValid = function(pass){  
    var lowerNum = 0;  
    var upperNum = 0;  
    var numNum = 0;  
    for(var i=0;i<pass.length;i++){  
        var code = pass.charCodeAt(i);  
        if(code >= 48 && code <= 57){  
            numNum++;  
        }  
        else if(code >= 65 && code <= 90){  
            upperNum++;  
        }  
        else if(code >= 97 && code <= 122){  
            lowerNum++;  
        }  
        else{  
            return false;  
        }  
    }  
    return lowerNum && upperNum && numNum;  
};

最後,將長度偵測和內容偵測整合在一起,構成密碼驗證函數:

function validate(password) {  
    return lengthValid(password) && contentValid(password);  
}

以上就是 JavaScript趣題:密碼驗證的內容,更多相關內容請關注PHP中文網(www.php.cn) !



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn