3 回答

TA貢獻(xiàn)1719條經(jīng)驗 獲得超6個贊
如果您需要一個正則表達(dá)式,請嘗試:
(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*\W)
一個簡短的解釋:
(?=.*[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)驗 獲得超6個贊
Bart Kiers,你的正則表達(dá)式有幾個問題。最好的方法是:
(.*[a-z].*) // For lower cases
(.*[A-Z].*) // For upper cases
(.*\d.*) // For digits
無論是在開頭,結(jié)尾還是在中間,你都會以這種方式進(jìn)行搜索。你有我復(fù)雜的密碼有很多麻煩。

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