2014-12-02 66 views
-2

我要通過正則表達式驗證顏色代碼,例如:如何通過正則表達式驗證色碼

#fff : true 
#ffffff : true 
#fnnkdf : false 
255,255,255 : true 
255,255 : false 
255,255,256 : false 

你能幫助我嗎?

+1

剛做了一個Google''^#([A-Fa-f0-9] {6} | [A-Fa-f0-9] {3})$「' – 2014-12-02 08:52:25

回答

1

試試這個:

/^(#[A-Fa-f0-9]{6}|#[A-Fa-f0-9]{3}|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]),([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]),([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))$/ 

PHP示例:

<?php print_r(preg_match('/^(#[A-Fa-f0-9]{6}|#[A-Fa-f0-9]{3}|([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]),([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]),([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]))$/','256,123,123')); ?> 

這樣做是什麼檢查如果th電話號碼大於255.

只需使用\d{1,3}[0-9]{1,3}將使類似999,999,999返回true。

0

這應該做的伎倆:

((\d{1,3},){2}\d{1,3})|(\#[a-fA-F0-9]{3,6}) 

http://regexr.com/3a0e9

+0

謝謝, preg_match('\ d {1,3},\ d {1,3},\ d {1,3})|(\#[a-fA-F0-9] {3,6}','#fff ')並返回此錯誤:'preg_match():分隔符不能是字母數字或反斜槓' – behzad 2014-12-02 08:59:39

+0

您需要將'/'添加到正則表達式的開始和結尾。 – Jerodev 2014-12-02 09:00:21

+0

這個字符串也被接受:'255,255,256' – behzad 2014-12-02 09:07:08