GeeksforGeeks App
Open App
Browser
Continue

# Check if the given RGB color code is valid or not

Given three numbers R, G and B as the color code for Red, Green and Blue respectively as in the form of RGB color code. The task is to know whether the given color code is valid or not.

RGB Format: The RGB(Red, Green, Blue) format is used to define the color of an HTML element by specifying the R, G, B values range between 0 to 255. For example: RGB value of Red color is (255, 0, 0), Green color is (0, 255, 0), Blue color is (0, 0, 255) etc.

color: rgb(R, G, B);

Note: The color code is valid when all numbers are in the range [0, 255].

Examples:

Input: R=0, G=100, B=255
Output: True
Explanation: Every color is in range [0, 255]

Input: R=0, G=200, B=355
Output: False
Explanation: Blue is not in range [0, 255]

Approach: To check if the color code is valid or not we need to check if each of the color is in the range [0, 255] or not. If any of the color is not in this range, return false, else return true.

Below is the implementation of the approach:

## C++

 `#include ``using` `namespace` `std;` `// Function to check validity``// of the color code``bool` `isValidRGB(``int` `R, ``int` `G, ``int` `B)``{` `    ``if` `(R < 0 || R > 255)``        ``return` `false``;``    ``else` `if` `(G < 0 || G > 255)``        ``return` `false``;``    ``else` `if` `(B < 0 || B > 255)``        ``return` `false``;``    ``else``        ``return` `true``;``}` `// Driver code``int` `main()``{` `    ``int` `R, G, B;` `    ``// Check if rgb(0, 0, 0) is valid or not``    ``R = 0, G = 0, B = 0;``    ``(isValidRGB(R, G, B)) ? cout << ``"true\n"``                          ``: cout << ``"false\n"``;` `    ``// Check if rgb(0, 100, 255) is valid or not``    ``R = 0, G = 100, B = 255;``    ``(isValidRGB(R, G, B)) ? cout << ``"true\n"``                          ``: cout << ``"false\n"``;` `    ``// Check if rgb(0, 200, 355) is valid or not``    ``R = 0, G = 200, B = 355;``    ``(isValidRGB(R, G, B)) ? cout << ``"true\n"``                          ``: cout << ``"false\n"``;` `    ``// Check if rgb(-100, 0, 255) is valid or not``    ``R = -100, G = 0, B = 255;``    ``(isValidRGB(R, G, B)) ? cout << ``"true\n"``                          ``: cout << ``"false\n"``;``    ``return` `0;``}`

## Java

 `class` `GFG {` `    ``// Function to check validity``    ``// of the color code``    ``public` `static` `boolean` `isValidRGB(``int` `R, ``int` `G, ``int` `B) {` `        ``if` `(R < ``0` `|| R > ``255``)``            ``return` `false``;``        ``else` `if` `(G < ``0` `|| G > ``255``)``            ``return` `false``;``        ``else` `if` `(B < ``0` `|| B > ``255``)``            ``return` `false``;``        ``else``            ``return` `true``;``    ``}` `    ``// Driver code``    ``public` `static` `void` `main(String args[]) {` `        ``int` `R, G, B;` `        ``// Check if rgb(0, 0, 0) is valid or not``        ``R = ``0``;``        ``G = ``0``;``        ``B = ``0``;``        ``if` `(isValidRGB(R, G, B))``            ``System.out.println(``"true"``);``        ``else``            ``System.out.println(``"false"``);` `        ``// Check if rgb(0, 100, 255) is valid or not``        ``R = ``0``;``        ``G = ``100``;``        ``B = ``255``;``        ``if` `(isValidRGB(R, G, B))``            ``System.out.println(``"true"``);``        ``else``            ``System.out.println(``"false"``);` `        ``// Check if rgb(0, 200, 355) is valid or not``        ``R = ``0``;``        ``G = ``200``;``        ``B = ``355``;``        ``if` `(isValidRGB(R, G, B))``            ``System.out.println(``"true"``);``        ``else``            ``System.out.println(``"false"``);` `        ``// Check if rgb(-100, 0, 255) is valid or not``        ``R = -``100``;``        ``G = ``0``;``        ``B = ``255``;``        ``if` `(isValidRGB(R, G, B))``            ``System.out.println(``"true"``);``        ``else``            ``System.out.println(``"false"``);``    ``}``}` `// This code is contributed by saurabh_jaiswal`

## Python3

 `# Function to check validity``# of the color code``def` `isValidRGB(R, G, B) :` `    ``if` `(R < ``0` `or` `R > ``255``) :``        ``return` `False``;``        ` `    ``elif` `(G < ``0` `or` `G > ``255``) :``        ``return` `False``;``        ` `    ``elif` `(B < ``0` `or` `B > ``255``) :``        ``return` `False``;``        ` `    ``else` `:``        ``return` `True``;` `# Driver code``if` `__name__ ``=``=`  `"__main__"` `:` `    ``# Check if rgb(0, 0, 0) is valid or not``    ``R ``=` `0``; G ``=` `0``; B ``=` `0``;``    ` `    ``if` `isValidRGB(R, G, B) :``        ``print``(``"true"``)``    ``else` `:``        ``print``(``"false"``)` `    ``# Check if rgb(0, 100, 255) is valid or not``    ``R ``=` `0``; G ``=` `100``; B ``=` `255``;``    ` `    ``if` `isValidRGB(R, G, B) :``        ``print``(``"true"``)``    ``else` `:``        ``print``(``"false"``)` `    ``# Check if rgb(0, 200, 355) is valid or not``    ``R ``=` `0``; G ``=` `200``; B ``=` `355``;``    ` `    ``if` `isValidRGB(R, G, B) :``        ``print``(``"true"``)``    ``else` `:``        ``print``(``"false"``)``        ` `    ``# Check if rgb(-100, 0, 255) is valid or not``    ``R ``=` `-``100``; G ``=` `0``; B ``=` `255``;``    ` `    ``if` `isValidRGB(R, G, B) :``        ``print``(``"true"``)``    ``else` `:``        ``print``(``"false"``)` `    ``# This code is contributed by AnkThon`

## C#

 `using` `System;``public` `class` `GFG {` `    ``// Function to check validity``    ``// of the color code``    ``public` `static` `bool` `isValidRGB(``int` `R, ``int` `G, ``int` `B) {` `        ``if` `(R < 0 || R > 255)``            ``return` `false``;``            ` `        ``else` `if` `(G < 0 || G > 255)``            ``return` `false``;``            ` `        ``else` `if` `(B < 0 || B > 255)``            ``return` `false``;``            ` `        ``else``            ``return` `true``;``    ``}` `    ``// Driver code``    ``public` `static` `void` `Main(``string` `[]args) {` `        ``int` `R, G, B;` `        ``// Check if rgb(0, 0, 0) is valid or not``        ``R = 0;``        ``G = 0;``        ``B = 0;``        ``if` `(isValidRGB(R, G, B))``            ``Console.WriteLine(``"true"``);``        ``else``            ``Console.WriteLine(``"false"``);` `        ``// Check if rgb(0, 100, 255) is valid or not``        ``R = 0;``        ``G = 100;``        ``B = 255;``        ``if` `(isValidRGB(R, G, B))``            ``Console.WriteLine(``"true"``);``        ``else``            ``Console.WriteLine(``"false"``);` `        ``// Check if rgb(0, 200, 355) is valid or not``        ``R = 0;``        ``G = 200;``        ``B = 355;``        ``if` `(isValidRGB(R, G, B))``            ``Console.WriteLine(``"true"``);``        ``else``            ``Console.WriteLine(``"false"``);` `        ``// Check if rgb(-100, 0, 255) is valid or not``        ``R = -100;``        ``G = 0;``        ``B = 255;``        ``if` `(isValidRGB(R, G, B))``            ``Console.WriteLine(``"true"``);``        ``else``            ``Console.WriteLine(``"false"``);``    ``}``}` `// This code is contributed by AnkThon`

## Javascript

 ``

Output

```true
true
false
false```

Time Complexity: O(1)
Auxiliary Space: O(1)

Approach 2: Using Regular Expression:

• This approach uses regular expressions to match valid RGB color codes.
•  The regular expression pattern ^rgb\((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\)\$ matches a string that starts with “rgb(“, followed by three comma-separated integers (each representing a color component), and ends with “)”.
• The integers are matched using regex character classes to ensure that they are between 0 and 255 (inclusive).
•  The \s* in between the commas and integers matches any whitespace characters (including none) between them. The ^ and \$ at the beginning and end of the pattern ensure that the entire string is matched, i.e., there are no extraneous characters before or after the color code.

Here is the code of above approach:

## C++

 `#include ``#include ``using` `namespace` `std;` `// Function to check validity of the color code``bool` `isValidRGB(string colorCode) {``    ``// Regular expression to match valid RGB color codes``    ``regex pattern(``"^rgb\\((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),\\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?),\\s*(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\)\$"``);` `    ``// Check if the color code matches the pattern``    ``return` `regex_match(colorCode, pattern);``}` `// Driver code``int` `main() {``    ``// Check if rgb(0, 0, 0) is valid or not``    ``string colorCode = ``"rgb(0, 0, 0)"``;``    ``(isValidRGB(colorCode)) ? cout << ``"true\n"` `: cout << ``"false\n"``;` `    ``// Check if rgb(0, 100, 255) is valid or not``    ``colorCode = ``"rgb(0, 100, 255)"``;``    ``(isValidRGB(colorCode)) ? cout << ``"true\n"` `: cout << ``"false\n"``;` `    ``// Check if rgb(0, 200, 355) is valid or not``    ``colorCode = ``"rgb(0, 200, 355)"``;``    ``(isValidRGB(colorCode)) ? cout << ``"true\n"` `: cout << ``"false\n"``;` `    ``// Check if rgb(-100, 0, 255) is valid or not``    ``colorCode = ``"rgb(-100, 0, 255)"``;``    ``(isValidRGB(colorCode)) ? cout << ``"true\n"` `: cout << ``"false\n"``;` `    ``return` `0;``}`

Output

```true
true
false
false
```

Time Complexity: O(1)
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up