我无法编写一个小函数来验证RGB颜色代码。基本上,我想检查变量是否为RGB,如果是,则返回true,否则返回false。例如:
validColor(“A5ADBA”) - 有效
validColor(“09c8dZ7”) - 无效(有Z)
validColor(“001AFFB”) - 无效(有额外字符)
我尝试过一些东西,但我无法提出任何解决方案。任何帮助将不胜感激。
答案 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)