2

入力を解析して、入力された色形式がRGBA形式かHEX形式かを確認し、スイッチケースを使用して通常の色の色名を入力するためのユーザースペースを提供したいと思います。

16進色と通常の色名の正規表現を見つけましたが、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色について同じことをするのを手伝ってくれますか?正規表現がそれを赤、緑、青、アルファに解析できれば素晴らしいと思います。

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つの数値が,(または)で区切られ、その後に記号,<space>が続く場合があります。%もちろん、パーセンテージは100%を超えてはなりませんが、目的のためにそうします。

于 2012-05-27T13:06:37.013 に答える