【问题标题】:Check if RGB color code is valid [closed]检查RGB颜色代码是否有效[关闭]
【发布时间】:2018-02-10 21:45:08
【问题描述】:

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

validColor("A5ADBA") - 有效

validColor("09c8dZ7") - 无效(有 Z)

validColor("001AFFB") - 无效(有多余字符)

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

【问题讨论】:

  • 所以您的要求是它的长度必须为 6 个字符,并且都必须是有效的十六进制数字(0-9A-Fa-f)。写起来好像没那么难。您尝试过的几件事是什么,您遇到了哪些困难?如果你的努力不在你的问题中,它就不存在。
  • 我没有意识到数字只有 0-9 和 a-f。感谢您的回复。也很抱歉没有代码,我正在使用我的手机,因为我远离我的电脑。

标签: validation lua rgb


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 这很复杂
    猜你喜欢
    • 1970-01-01
    • 2017-04-02
    • 1970-01-01
    • 2020-07-12
    • 2012-10-28
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多