views:

203

answers:

1

I have the following code.

function rgb2hex(rgb) {
rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]);
}

Seems to work ok in FF and Chrome. IE comes up with '1' is null or not an object. rgb value does seem to make it to the rgb.match.

Any ideas?

Thx

+2  A: 

Try printing out what rgb is before you run the regex. It might be that the input is different.

I'm assuming you're checking an dom_element.style property. Perhaps IE never converts that property to the rgb(r, g, b) format in the first place.

Matt
I added an alert() before the match and it does have a hex colour value so that seems ok.
jason
yes you are correct it is being converted already where as FF and Chorme do not. thx
jason