我需要使用Java驗證密碼字符串。這是驗證的要求:用於驗證的正則表達式
- 至少1號
- 至少1字母字符
- 至少1個字符從集@#$%^ & *()_ + = - 〜` ] [{};':「/> ?, <
- 8〜20個字符
擰周圍和敲打我的頭到壁幾次後,我想出了這個正則表達式
if (!password.matches("^(?=.+[0-9])(?=.+[a-zA-Z])(?=.+[\\x21-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E])[0-9a-zA-Z\\x21-\\x2F\\x3A-\\x40\\x5B-\\x60\\x7B-\\x7E]{8,20}$")) {
}
這看起來太可怕和瘋了。有沒有更好的方法來完成這個任務?
試試'[A-ZA-Z] + \\ d +!@#$%^&*()] +'你可能要引用特殊字符,如果他們有特殊的含義,這只是我的頭頂... – Thihara
可能重複的[正則表達式密碼驗證](http://stackoverflow.com/questions/2370015/regular-expression-for-password-validation ) –