0

透明度を破棄して、RGBA を HEX に変換しようとしています。RGB を HEX に変換する方法はいくつかありますが、RGBA から HEX を取得する最も簡単な方法は、単純にアルファの内容を破棄することです。

これを変えることを望んでいます:

rgba(255,255,255,0.95)

これに:

rgb(255,255,255)

次に、これを使用します: http://haacked.com/archive/2009/12/29/convert-rgb-to-hex.aspx

取得するため#FFFFFF

直接変換も可能ですが、これは単純な部分文字列操作のように思えますが、現時点ではわかりません。

4

1 に答える 1

2

おそらくあなたはこれを探しています:

input.replace(/rgba\((\d+,\d+,\d+),[\d.]+\)/,"rgb($1)")

正規表現の説明:

  • /-正規表現の開始
  • rgba\(-文字通りrgba(
  • (-キャプチャグループの開始
  • \d+,\d+,\d+-コンマで区切られた3つの数字グループ
  • )-キャプチャグループの終了
  • ,[\d.]+\)-もう1つのコンマ、数字と小数点のグループ、および閉じ括弧
  • /-正規表現の終わり

置換:リテラルrgb(、キャプチャされた文字列、リテラル)

この正規表現をより普遍的に適用できるようにするには、仕様で許可されている場所に空白を許可します。

input.replace(/rgba\((\s*\d+\s*,\s*\d+\s*,\s*\d+\s*),\s*[\d.]+\s*\)/,"rgb($1)")
于 2013-02-16T07:11:35.960 に答える