forked from websanova/rgbHex
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrgbHex.min.js
1 lines (1 loc) · 1.05 KB
/
rgbHex.min.js
1
window.rgbHex=(function(){function g(i){return !isNaN(parseFloat(i))&&isFinite(i)}function a(i){return i.replace(/^\s+|\s+$/g,"")}function h(i){i=a(i);return g(i)&&i>=0&&i<=255}function c(i){return/^[0-9a-f]{3}$|^[0-9a-f]{6}$/i.test(a(i))}function f(i){i=parseInt(i,10).toString(16);return i.length===1?"0"+i:i}function b(i){return parseInt(i,16).toString()}function d(i){i=i.split(",");if((i.length===3||i.length===4)&&h(i[0])&&h(i[1])&&h(i[2])){if(i.length===4&&!g(i[3])){return null}return"#"+f(i[0]).toUpperCase()+f(i[1]).toUpperCase()+f(i[2]).toUpperCase()}else{return null}}function e(i){if(c(i)){if(i.length===3){i=i+i}return"rgb("+b(i.substr(0,2))+","+b(i.substr(2,2))+","+b(i.substr(4,2))+")"}}return function(i){if(!i){return null}var j=null,l=/^rgba?\((.*)\);?$/,k=/^#/;i=a(i.toString());if(l.test(i)){return d(i.match(l)[1])}else{if(k.test(i)){return e(i.split("#").reverse()[0])}else{j=i.split(",");if(j.length===1){return e(i)}else{if(j.length===3||j.length===4){return d(i)}}}}}})();if(jQuery){jQuery.extend({rgbHex:function(a){return window.rgbHex(a)}})};