2012-08-07 54 views
0

我試圖做一個正則表達式,檢查一個字段,並確保它包含(特殊字符或數字),包括所有其他字符以及。我沒有做到正確。使用正則表達式:確保一個字段包含一個特殊字符和數字

我一直在使用一些正則表達式網站,如http://www.gskinner.com/RegExr/給我一些幫助,並確保我得到正確的東西,但我不是。

我已經得到最接近的是這樣的:

(?!^[0-9]*$)(?!^[[email protected]#$%^&*()_+=<>?]*$)^([[email protected]#$%^&*()_+=<>?0-9]{6,15})$ 

雖然需要有在一個數值,它檢查一切。但我需要它被要求有一個數字或特殊字符。

+1

示例數據將有所幫助,您正在檢查的字段中的數據類型是什麼?你在找什麼「特殊字符」? 你試過了什麼? – EEP 2012-08-07 20:18:17

+0

你的問題是什麼? – Madbreaks 2012-08-07 20:19:20

+0

看起來他正在嘗試執行密碼更改驗證程序。你也應該驗證它的服務器端,儘管可以說如果有人足以繞過你的密碼限制以修改頁面接受無效的密碼,他們知道使用蹩腳的密碼的缺點,你也可以讓他們。 – Wug 2012-08-07 20:27:07

回答

0

這需要一個數字和特殊字符:

[^\s\w].*\d|\d.*[^\s\w] 

這需要一個數字或特殊字符:

\d|[^\s\w] 

管道符 '|'意味着或。

這一個整條生產線相匹配,如果有兩個特殊字符和一個數字:

.*(:?[^\s\w].*\d|\d.*[^\s\w]).* 

這一個匹配,如果有一個特殊字符或數字的整條生產線:

.*(?:\d|[^\s\w]).* 
+0

我想我剛剛找到一個與你的幫助。提示管道!這應該和我想的一樣。+ \ w | \ W – Twister1002 2012-08-07 21:19:50

0

特殊字符或數字?那麼,[^A-Za-z_ ]可能夠好了。

編輯:

所以,如果你正在嘗試做密碼驗證,那麼這是積極的向前看符號很簡單。無恥被盜來源:http://www.mkyong.com/regular-expressions/how-to-validate-password-with-regular-expression/

(   # Start of group 
    (?=.*\d)  # must contains one digit from 0-9 
    (?=.*[a-z])  # must contains one lowercase characters 
    (?=.*[A-Z])  # must contains one uppercase characters 
    (?=.*[@#$%])  # must contains one special symbols in the list "@#$%" 
       .  #  match anything with previous condition checking 
       {6,20} #  length at least 6 characters and maximum of 20 
) 
+0

抱歉遺漏了一些關於這方面的信息。我需要它來檢查信件並確保它包含數字或特殊字符。 – Twister1002 2012-08-07 20:23:47

+0

看我的編輯.... – aquinas 2012-08-07 20:31:47

相關問題