3 回答

TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊
如果您需要一個(gè)正則表達(dá)式,請(qǐng)嘗試:
(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*\W)
一個(gè)簡(jiǎn)短的解釋:
(?=.*[a-z]) // use positive look ahead to see if at least one lower case letter exists
(?=.*[A-Z]) // use positive look ahead to see if at least one upper case letter exists
(?=.*\d) // use positive look ahead to see if at least one digit exists
(?=.*\W]) // use positive look ahead to see if at least one non-word character exists
我同意SilentGhost,\W可能有點(diǎn)寬泛。我用這樣的字符集替換它:( [-+_!@#$%^&*.,?]當(dāng)然可以添加更多?。?/p>

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
Bart Kiers,你的正則表達(dá)式有幾個(gè)問題。最好的方法是:
(.*[a-z].*) // For lower cases
(.*[A-Z].*) // For upper cases
(.*\d.*) // For digits
無(wú)論是在開頭,結(jié)尾還是在中間,你都會(huì)以這種方式進(jìn)行搜索。你有我復(fù)雜的密碼有很多麻煩。

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊
您可以分別匹配這三個(gè)組,并確保它們都存在。此外,[^\w]
似乎有點(diǎn)過于寬泛,但如果這是你想要的,你可能想要替換它\W
。
- 3 回答
- 0 關(guān)注
- 649 瀏覽
添加回答
舉報(bào)