我已經寫了正則表達式,其可潛在地用於密碼強度驗證:爲密碼強度驗證正則表達式
^(?:([A-Z])*([a-z])*(\d)*(\W)*){8,12}$
表達由四組:
- 零個或多個大寫字符
- 零個或多個小寫字符
- 零個或多個十進制數字
- 零個或多個非單詞字符(!,£,$,%等)
我希望它的工作方式是,以確定有多少組的人爲了確定強度被匹配的密碼。例如,如果只有一個組匹配,它會很弱。如果所有四個組合都匹配,那就會很強大。
我已經測試使用Rubular (a Ruby regular expression editor).
這裏我可以看到在視覺上,有多少組相匹配的表情,但我想這樣做在JavaScript中。我寫了一個腳本來返回匹配組的數量,但結果與我在Rubular中看到的不一樣。
我該如何在JavaScript中實現這一點?並且是我的正規表達直到任務?
你的正則表達式允許密碼具有無限長,'{8,12}'沒有影響。硬編碼你想允許的非單詞字符。我想你想要的東西像'^ [A-Za-z0-9!_.-] {8,12} $'。 「 – sp00m 2013-03-28 09:51:32
」但結果不一樣「:以什麼方式?請包括*兩組結果以及您用於生成結果的代碼。 – Richard 2013-03-28 09:53:05
請注意,您的表達式僅在*大寫字母后檢查小寫字母*;和之後的數字; ...。它也不認爲下劃線是非字母數字字符。 – Richard 2013-03-28 09:55:05