PHP中的is_rgb函数

use*_*720 1 php rgb function

我需要函数检查$ _GET中的值是否为rgb值。我缺少什么?

function is_rgb($val)
{
    return (bool)preg_match("/^(rgb(s*b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])bs*,s*b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])bs*,s*b([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])bs*))|(rgb(s*(d?d%|100%)+s*,s*(d?d%|100%)+s*,s*(d?d%|100%)+s*))$/",
        $val);
}

if(!isset($_GET["header_bg_color"])) $header_bg_color = "E8F0F2";
else $header_bg_color = is_rgb($_GET["header_bg_color"]);
Run Code Online (Sandbox Code Playgroud)

Jak*_*ake 5

十六进制验证功能

function validHex($hex) {
   return preg_match('/^#?(([a-f0-9]{3}){1,2})$/i', $hex);
}

$hex = '#FFFFFF';
if ( validHex($hex) ) {
   echo 'valid hex color';
}
else {
   echo 'invalid hex color';
}
Run Code Online (Sandbox Code Playgroud)

rgb验证功能

function validRgb($rgb) {
   return count($rgb) == 3 && is_numeric(implode($rgb)) && max($rgb) <= 255;
}

$rgb['r'] = '255';
$rgb['g'] = '255';
$rgb['b'] = '255';
if ( validRgb($rgb) ) {
   echo 'valid rgb color';
}
else {
   echo 'invalid rgb color';
}
Run Code Online (Sandbox Code Playgroud)

  • 这是最好的答案。也知道十六进制和rgb之间的区别的+1 :) (2认同)