检查RGB颜色代码是否有效

时间:2017-09-01 19:24:59

标签: validation lua rgb

我无法编写一个小函数来验证RGB颜色代码。基本上,我想检查变量是否为RGB,如果是,则返回true,否则返回false。例如:

validColor(“A5ADBA”) - 有效

validColor(“09c8dZ7”) - 无效(有Z)

validColor(“001AFFB”) - 无效(有额外字符)

我尝试过一些东西,但我无法提出任何解决方案。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:3)

您需要知道的是,字符串长度为六个字符,每个字符都是有效的十六进制数字,对吗?

function validHexColor(color)
    return nil ~= color:find("^%x%x%x%x%x%x$")
end

答案 1 :(得分:0)

RGB代码具有24位格式(位0..23),如: ' FFFFFF'可以翻译成(255,255,255)。哪个FF是十进制的255。 您可以使用string.sub拆分给定字符串并检查它是否在有效范围内(0-255)