JS:在第n次迭代后移除所有内容

时间:2013-02-16 06:53:51

标签: javascript

尝试将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

也可以打开直接转换,这看起来就像是一个简单的子字符串操作,目前无法实现。

1 个答案:

答案 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)")