RedWolves
7/9/2010 - 3:43 AM

RGBToHex.js

function rgbToHex(rgb) {
    if (rgb.match(/^#[0-9A-Fa-f]{6}$/)) {
        return rgb;
    }
    var rgbvals = /rgb\((.+),(.+),(.+)\)/i.exec(rgb);
    if (!rgbvals) {
        return rgb;
    }
    var rval = parseInt(rgbvals[1]);
    var gval = parseInt(rgbvals[2]);
    var bval = parseInt(rgbvals[3]);
    var pad = function(value) {
        return (value.length < 2 ? '0' : '') + value;
    };
    return '#' + pad(rval.toString(16)) + pad(gval.toString(16)) + pad(bval.toString(16));
}