JavaScript(CSS)で色を扱おうとすると、同じ赤色でも"red"・"#ff0000"・"#f00"・"rgb(255,0,0)"といった様々な表記が可能です。 指定する分にはいろんな書き方が出来るのは便利でよいのですが、逆のケース、つまり既に指定されている色を取得する場合に、どのフォーマットで返ってくるかわからない、というのでは、少々困ってしまいます。 そこで、色指定用の各種の文字列を、16進カラーコード(#xxxxxx)形式に変換する関数を作ってみました。 function colorToHex(color) { color=color.replace(/\s/g,'').toLowerCase(); if (color.match(/^rgb\((\d{1,3})%?,(\d{1,3})%?,(\d{1,3})%?\)$/)) { // 'rgb(r,g,b)' =>