如何在Javascript中识别颜色?

如何在Javascript中识别颜色?,javascript,jquery,regex,Javascript,Jquery,Regex,我想解析输入,检查输入的彩色格式是RGBA格式还是十六进制格式,并为用户提供空间,以便使用开关盒输入常规颜色的颜色名称 我找到了一个用于十六进制颜色和常规颜色名称的正则表达式,但找不到用于RGBA的正则表达式 Javascript function verifycolor(colorcode) { var regColorcode = /^(#)?([0-9a-fA-F]{3})([0-9a-fA-F]{3})?$/; if(regColorcode.test(colorcode) ==

我想解析输入,检查输入的彩色格式是RGBA格式还是十六进制格式,并为用户提供空间,以便使用开关盒输入常规颜色的颜色名称

我找到了一个用于十六进制颜色和常规颜色名称的正则表达式,但找不到用于RGBA的正则表达式

Javascript

function verifycolor(colorcode) {
  var regColorcode = /^(#)?([0-9a-fA-F]{3})([0-9a-fA-F]{3})?$/;
  if(regColorcode.test(colorcode) == false)
    document.getElementById("status").innerHTML = "Color is not yet valid.";
  else if(regColorcode.test(colorcode) == true)
    document.getElementById("status").innerHTML = "You have entered a valid color code";
}
JSFIDLE不适合我使用此代码。不知道原因。所以是这样


有谁能帮我对RGBA颜色做同样的事情吗。如果正则表达式可以将其解析为红色、绿色、蓝色和alpha,那就太好了。

一些搜索给了我这个RGB颜色解析器:

它完全符合您的要求(甚至可以输出颜色通道)。当然,它也可以用于颜色验证

根据描述:

一个JavaScript类,它接受字符串并尝试找出 有效的颜色。一些可接受的输入例如:

  • rgb(0,23255)
  • #336699
  • ffee66
  • fb0
  • 红色
  • darkblue
  • 学员蓝
演示:


这将rgb()与内部4个介于0和255之间的数字相匹配,由
(或
)分隔,后面可能有一个
%
符号。当然,百分比不应超过100%,但出于这个目的,它就可以了。

谢谢。需要α值。我会弄明白的。
rgba\(((25[0-5])|(2[0-4]\d)|(1?\d\d)|\d)%?, *((25[0-5])|(2[0-4]\d)|(1?\d\d)|\d)%?, *((25[0-5])|(2[0-4]\d)|(1?\d\d)|\d)%?, *((25[0-5])|(2[0-4]\d)|(1?\d\d)|\d)%?\)