如何通过正则表达式验证颜色代码

时间:2014-12-02 08:49:34

标签: php

我将通过正则表达式验证颜色代码,例如:

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

你能帮助我吗?

2 个答案:

答案 0 :(得分: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')); ?>

这样做是为了检查数字是否大于255。

只需查看\d{1,3}[0-9]{1,3}即可使999,999,999返回true。

答案 1 :(得分:0)

这应该可以解决问题:

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

http://regexr.com/3a0e9