2015-06-01 243 views
-2

下面的正則表達式是基於另一個堆棧的答案...但我的結果是不一樣的。特殊字符未被檢查。特殊字符preg_match

需要小寫,大寫,數字和特殊字符。

例如:qwertyu1wW是處理無特殊字符

if (!preg_match('/(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}/', $pass)) { 
+0

「特殊性」不是一回事。你的意思是「標點符號」嗎?如果是這樣,特別是哪些標點符號? – deceze

+0

@karthikmanchala謝謝 – acctman

+0

正則表達式只在字符串中尋找一個小寫字母'[az]',一個大寫字母'[AZ]'和一個數字'\ d',長度至少爲8個字符('{ 8,}')。我不確定最後一個「。」是否會出現,或許還需要一段時間才能出現? – chris85

回答

1

對於

使用以下 「不是數字或字母以外的任何」:

if (!preg_match('/(?=.*[\W_-])(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}/', $pass)) { 
        ^^^^^^^^^^