2013-12-19 121 views
0

我有一個以下的正則表達式,但它似乎沒有按預期工作。正則表達式有一個數字或特殊字符

我想要一個小寫字母,一個大寫字母,一個數字或一個特殊字符。

長度應該是最小8個字符。

(^.*(?=.{8,})(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).*$) 

誰能幫助請

+0

可能重複[複雜的密碼正則表達式(http://stackoverflow.com/questions/3466850/complex-password-regular-expression) – damienc88

回答

2

我看到兩個問題。你的數字說明符前面有一個雙反斜槓 - 使它成爲一個單一的。你也沒有「特殊字符」的表達。我添加了一個表達式來包含一些特殊字符 - 您可以根據自己的需要進行調整(小心 - 一些有特殊含義,例如-)。

示範在http://regex101.com/r/kM5xW6

表達式(更新,以反映「一個數字或一個特殊字符」):

(^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[[email protected]#$%^&*_0-9]).*$) 

這至少需要8個字符,小寫字母,大寫字母,和一個來自列表[email protected]#$%^&*_0-9(這是「09之間的一個特殊字符之一)中的字符。

+1

謝謝,但我想一個數字或特殊字符。上面的一個需要 – Coder

+0

好吧,我誤解了。現在更新。 – Floris

+1

謝謝你現在工作正常 – Coder

0

更有效一點模式=的 Demo

相關問題