2017-09-01 14 views
-5

RGBカラーコードを検証するための小さな関数を書くのに問題があります。基本的には、変数がRGBかどうかをチェックし、変数がRGBならtrueを返し、そうでなければFalseを返したいと思います。たとえば、次のようにRGBカラーコードが有効かどうかを確認してください

validColor( "A5ADBA") - 有効な

validColor( "09c8dZ7") - 無効です(Zがあります)

validColor( "001AFFB") - 無効ですが(余分な文字を持っています)

私はいくつかのことを試みましたが、私は解決策を考え出すことができません。どんな助けもありがとう。

+0

したがって、有効な16進数(0-9A-Fa-f)でなければならない6文字の長さが必要です。書くのがとても難しいですね。あなたが試した*いくつかのものは何ですか?あなたがそれらを持っていたのは何ですか?あなたの努力があなたの質問にないなら、それは存在しません。 –

+0

私は数字が0-9とa-fだけであることを知らなかった。応答していただきありがとうございます。コードなしで申し訳ありませんが、私は自分のコンピュータから離れているため、私の電話を使用していました。 –

答えて

0

RGBコードは、次のような24ビット形式(ビット0..23)です。 「FFFFFF」は(255,255,255)に変換できます。どのFFが10進数で255か。 string.subを使用して、指定された文字列を分割し、有効な範囲(0-255)にあるかどうかを確認することができます。

+0

かなり複雑です – Piglet

3

文字列は6文字で、すべてが有効な16進数?

function validHexColor(color) 
    return nil ~= color:find("^%x%x%x%x%x%x$") 
end 
関連する問題