2014-10-22 24 views
0

在我的網站(PHP,MySQL的),我使用的是下面的驗證密碼正則表達式匹配1字母,1位,並允許所有的特殊字符

^(?=.*[0-9]+.*)(?=.*[a-zA-Z]+.*)[0-9a-zA-Z]{6,}$ 

正則表達式我得到這個從http://regexlib.com/。這驗證了至少6個字符應該有至少一個字母和一個數字字符。它不會允許任何特殊字符

我還需要允許所有的特殊字符。

我該如何修改?我不熟悉正則表達式。請幫助

回答

2

只需添加你要允許在字符類中的特殊字符:

^(?=.*[0-9]+.*)(?=.*[a-zA-Z]+.*)[0-9a-zA-Z.!&/()=?+*~#'_:.,;-]{6,}$ 
+0

謝謝你..我的工作.. :) – Arun 2014-10-22 04:56:32

1
^(?=.*[0-9]+.*)(?=.*[a-zA-Z]+.*)[0-9a-zA-Z-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/]{6,}$ 

你只需要添加特殊字符您現有的字符類。

1

爲什麼要使用lookahead?

\A[0-9a-zA-Z.!&/()=?+*~#'_:.,;-]{6,}\z 
+0

這將接受'.......'作爲一個有效的密碼。 OP可能希望確保密碼至少包含一個數字和一個字母。 – 2014-10-22 05:01:51

相關問題