我需要檢查一個密碼字符串本規則:有沒有合併這兩個正則表達式的方法?
- 只有小寫字母,大寫字母,數字和一些特殊字符(見下文),是允許的。
- 的8個字符和最大16
密碼必須的Minimun包含從三個四個下列基團中的至少一個字符:
- 小寫字母
- 大寫字母
- 數字字符
- 特殊字符(@#$%&/= _,!?;-)
爲了完成這個目標,我做了兩個驗證。最簡單的一個是第一步,請允許的字符和長度:
^[[email protected]\#$%&/=?_.,:;\-]{8,16}$
第二個是更復雜一點,但由於我能解決這個問題這個Stackoverflow answer:
^((?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])|(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]\#$%&/=?_.,:;\-])|(?=.*[a-z])(?=.*[0-9])(?=.*[[email protected]\#$%&/=?_.,:;\-])|(?=.*[A-Z])(?=.*[0-9])(?=.*[[email protected]\#$%&/=?_.,:;\-])).{8,16}$
我認爲這可能是一個2步驟的解決方案清晰簡單..但是... 有沒有辦法將兩個正則表達式合併?
我想在Java,JavaScript和Lua上應用該解決方案。
密碼策略是我的沉默的一個要求,他已經在其他系統中實施了此策略,因此目前很難對其進行更改。感謝@TomLord爲您提供解決方案和建議! –