回答
試試這個..
^((?=.*\d)(?=.*[A-Z])(?=.*[a-z]).{8,})
你可以使用類似的東西:
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z\d=:;<>,[email protected]#\\$%/^&)(\[\]+-]{8,}$
測試它here。 您可能還想了解「?=」的東西,它被稱爲「積極的前瞻」here。 簡而言之,當所有三個lookahead(.*\d
和.*[a-z]
和.*[A-Z]
)匹配(並且被丟棄)時,主正則表達式[a-zA-Z\d=:;<>,[email protected]#\\$%/^&)(\[\]+-]{8,}
也可以匹配。
爲什麼限制有效字符?這不是規範。另外,你的解釋是不正確的。 lookahead不遵循正則表達式匹配。 –
部分同意,但並非全部字符均有效。我們沒有有效的字符列表,所以我放置了最嚴格的限制。我沒有說跟着正則表達式匹配正則表達式。我會嘗試修復誤解) – Snifff
所以你想強制用戶使用不太安全的密碼?爲什麼? –
你必須這樣做在一個正則表達式?我會將這些規則中的每一個都定義爲一個正則表達式,併爲它們單獨進行測試。我懷疑你的代碼最終會變得更簡單,而且你會爲自己和任何維護你的應用程序的人們節省幾個頭痛。
我意識到你的話..事情是這是一個軟件系統的文本框字段。 – TruMan1
- 1. ASP.NET密碼強度正則表達式
- 2. 密碼強度正則表達式
- 3. 強密碼的正則表達式
- 4. 密碼強度正則表達式與數字
- 5. 爲密碼強度驗證正則表達式
- 6. 對密碼強度正則表達式與除下劃線
- 7. 密碼正則表達式
- 8. 正則表達式 - 密碼
- 9. 密碼在Java中,通過使用正則表達式的
- 10. 密碼規則的正則表達式
- 11. 通過正則表達式
- 12. 通過正則表達式
- 13. 通過正則表達式
- 14. 通過正則表達式
- 15. 通過正則表達式
- 16. 通過正則表達式
- 17. 通過正則表達式
- 18. 通過正則表達式
- 19. 通過正則表達式
- 20. 通過正則表達式
- 21. 通過正則表達式
- 22. 通過正則表達式
- 23. 正則表達式強密碼特殊字符
- 24. 的密碼正則表達式
- 25. 密碼的正則表達式
- 26. 正則表達式密碼問題
- 27. 特定的密碼正則表達式
- 28. 密碼驗證的正則表達式
- 29. 密碼正則表達式問題
- 30. 密碼驗證的正則表達式
如果你也有興趣做這個客戶端,這可能會讓你感興趣:http://stackoverflow.com/questions/1388609/jquery-password-strength-checker而你實際上可以使用表達式中寫入的不同部分此線程並在服務器端逐漸檢查密碼長度。 – Maresh