2

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

我找到了十六进制颜色和常规颜色名称的正则表达式,但找不到 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";
}

jsfiddle 不适用于我的这段代码。不知是什么原因。所以它就在这里

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

4

2 回答 2

3

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

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

从描述:

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

  • rgb(0, 23, 255)
  • #336699
  • ffee66
  • fb0
  • red
  • darkblue
  • cadet blue

演示: http ://www.phpied.com/files/rgbcolor/rgbcolor.html

于 2012-05-27T11:15:04.140 回答
0
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)%?\)

这将 rgb() 与内部 0 到 255 之间的 4 个数字匹配,由,(or ,<space>) 分隔,后跟一个%符号。当然百分比不应该超过 100%,但为了达到目的,它会做。

于 2012-05-27T13:06:37.013 回答