您可以像这样匹配十六进制颜色:
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)。