尝试将RGBA转换为HEX,丢弃透明度。有很多种方法可以将RGB转换为HEX,似乎从RGBA中获取HEX的最简单方法就是简单地丢弃alpha的内容。
希望转过来:
rgba(255,255,255,0.95)
进入这个:
rgb(255,255,255)
然后用这个: http://haacked.com/archive/2009/12/29/convert-rgb-to-hex.aspx
获取#FFFFFF
也可以打开直接转换,这看起来就像是一个简单的子字符串操作,目前无法实现。
答案 0 :(得分:2)
也许您正在寻找这个:
input.replace(/rgba\((\d+,\d+,\d+),[\d.]+\)/,"rgb($1)")
正则表达式的说明:
/
- 正则表达式的开头rgba\(
- 文字rgba(
(
- 开始捕捉群组\d+,\d+,\d+
- 三组数字,以逗号分隔)
- 捕获群组结束,[\d.]+\)
- 另外一个逗号,一组数字和小数点以及一个右括号/
- 正则表达式结束替换为:文字rgb(
,捕获的字符串,文字)
为了使这个正则表达式更普遍适用,允许规范允许的空格:
input.replace(/rgba\((\s*\d+\s*,\s*\d+\s*,\s*\d+\s*),\s*[\d.]+\s*\)/,"rgb($1)")