我需要使用以下條件生成密碼正則表達式:密碼正則表達式
有效密碼必須包含至少8個字符。它必須至少有一個大寫字母,一個小寫字母和一個非字母字符。
到目前爲止,我創造了這個模式:
((?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,50})
但它仍然採取不具有非字母字符的字符串。我怎樣才能做到這一點?由於
我需要使用以下條件生成密碼正則表達式:密碼正則表達式
有效密碼必須包含至少8個字符。它必須至少有一個大寫字母,一個小寫字母和一個非字母字符。
到目前爲止,我創造了這個模式:
((?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,50})
但它仍然採取不具有非字母字符的字符串。我怎樣才能做到這一點?由於
你可以試試這個
|->match 8 or more chars
-----
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[^a-zA-Z]).{8,}$
------------ ---------- ---------------
| | |->matches further only if there is atleast 1 non alphabetic char
| |->matches further only if there is atleast 1 a-z
|->matches further only if there is atleast 1 A-Z
「必須至少有一個大寫字母,一個小寫和一個非字母字符。」所以如果有人想要暴力攻擊,你已經減少了大量的可能嘗試次數。誰開始這種做法應該打屁股。對不起,我知道它不回答這個問題,除非你決定不執行這個愚蠢的想法。 – Popnoodles 2013-02-13 17:45:24
你如何使用這種模式?用哪種語言? – Bergi 2013-02-13 17:45:51
不知道你在用哪種口味,很難爲你提供幫助。 [這個其他答案](http://stackoverflow.com/a/2370045/1147918)到一個類似的問題可能會幫助你。 – 2013-02-13 17:53:08