在用戶端驗證密碼強度[2],相容FireFox和IE

來源:互聯網
上載者:User

之前發過一個關於用JavaScript驗證密碼強度的,程式很簡潔,只用了一個正則便能驗證所有情況,但是因為利用了取巧的方法,所以只能在IE中使用,在FF中失效,現在修改一下做一個相容的版本。

規則如下(分四個等級,等級超高強度越高):

0. 密碼為空白。

1. 密碼長度小於六位.或者密碼只有一種組合。

2. 密碼長度大於五位, 且有兩種組合。

3. 密碼長度大於五位, 且有三種組合。

4. 密碼長度大於五位,,且有四種組合。

四種組合指 數字,小寫字母,大寫字母,其它字元

原始碼如下:

以下為引用的內容:
function EvaluatePassword(word)
{
    if (word == "")
    {
        return 0;
    }
    else if (word.length < 6)
    {
        return 1;
    }
    else
    {
        return word.match(/[a-z](?![^a-z]*[a-z])|[A-Z](?![^A-Z]*[A-Z])|\d(?![^\d]*\d)|[^a-zA-Z\d](?![a-zA-Z\d]*[^a-zA-Z\d])/g).length;
    }
}


測試代碼:

以下為引用的內容:

<script language="JavaScript">
function EvaluatePassword(word)
{
    if (word == "")
    {
        return 0;
    }
    else if (word.length < 6)
    {
        return 1;
    }
    else
    {
        return word.match(/[a-z](?![^a-z]*[a-z])|[A-Z](?![^A-Z]*[A-Z])|\d(?![^\d]*\d)|[^a-zA-Z\d](?![a-zA-Z\d]*[^a-zA-Z\d])/g).length;
    }
}
var test = new Array("", "a1_", "abcdef", "abcde123", "ads23%", "aA1B2^&2");
for(var i in test)
{
    document.write(test[i] + " 的密碼強度為" + EvaluatePassword(test[i]) + "<br>");
}
</script>



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。