检查RGB颜色代码是否有效
问题描述:
我无法编写一个小函数来验证RGB颜色代码。基本上,我想检查一个变量是否为RGB,如果是则返回true,否则返回false。例如:检查RGB颜色代码是否有效
validColor( “A5ADBA”) - 有效
validColor( “09c8dZ7”) - 不是有效的(具有Z)
validColor( “001AFFB”) - 不是有效的(有多余的字符)
我已经尝试了一些东西,但我不能拿出任何解决方案。任何帮助,将不胜感激。
答
RGB代码具有24位格式(位0..23)像: 'FFFFFF' 可以转换为(255,255,255)。 FF是十进制的255。 您可以使用string.sub拆分给定的字符串,并检查它是否是一个有效的范围内(0-255)
+0
这很复杂 – Piglet
答
所有你需要知道的是,弦长六个字符,每一个是有效的十六进制数字,右?
function validHexColor(color)
return nil ~= color:find("^%x%x%x%x%x%x$")
end
因此,您的要求是它的长度为6个字符,全部必须是有效的十六进制数字(0-9A-Fa-f)。听起来不太难写。你试过的几件事*你有什么困难?如果你的努力不在你的问题中,它不存在。 –
我没有意识到数字只有0-9和a-f。感谢您的回应。对于没有代码也感到抱歉,我正在使用手机,因为我离开了我的电脑。 –