验证html颜色代码JS

Utk*_*maz 3 javascript

我正在寻找验证html颜色代码的代码。要检查用户是否输入了有效的颜色代码,您可以帮忙吗?

我知道我需要该正则表达式的东西,但我无法理解对正则表达式的想法:S

谢谢

SLa*_*aks 5

您可以像这样匹配十六进制颜色:

if (/^#[0-9a-f]{3}([0-9a-f]{3})?$/i.test(str)) {
    //Match
}
Run Code Online (Sandbox Code Playgroud)

请注意,这不会处理名称或rgb(n, n, n)

您可以匹配如下rgb(x, y, z)颜色:

if (/^rgb\s*(\s*[012]?[0-9]{1,2}\s*,\s*[012]?[0-9]{1,2}\s*,\s*[012]?[0-9]{1,2}\s*)$/i.test(str)) {
    //Match
}
Run Code Online (Sandbox Code Playgroud)

请注意,这将匹配rgb(299, 299, 299)

  • ?? 3 位颜色代码绝对有效。它们的含义与 6 位代码相同,其中每个颜色部分的第二位数字为“0”。 (2认同)