php 校验色值 16进制

PHP · 2023-04-10
function validateHexColor($color) {
    if (preg_match('/^#[a-f0-9]{6}$/i', $color) === 1) {
        // 校验是否是 6 位十六进制颜色值
        return true;
    } elseif (preg_match('/^#[a-f0-9]{3}$/i', $color) === 1) {
        // 校验是否是 3 位十六进制颜色值
        return true;
    } elseif (preg_match('/^#[a-f0-9]{8}$/i', $color) === 1) {
        // 校验是否是 8 位十六进制颜色值,其中前两位表示 alpha 通道
        return true;
    } else {
        // 不符合任何条件,不是一个合法的十六进制颜色值
        return false;
    }
}

这个函数与前面的代码相比,增加了对 8 位十六进制颜色值的校验,其中前两位表示 alpha 通道。这样,您就可以校验颜色值是否包含 alpha 通道,并且防止将 alpha 通道值错误地解析为颜色值。

请注意,在实际使用中,您应该根据具体场景确定需要的校验条件,以确保您的代码更加严谨。

-- by chatgpt

16进制
Theme Jasmine by Kent Liao