来源:蜘蛛抓取(WebSpider)
时间:2017-09-08 21:48
标签:
魅蓝5s
javascript实现十六进制颜色值(HEX)和RGB格式相互转换
投稿:junjie
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了javascript实现十六进制颜色值(HEX)和RGB格式之间的转换,使用正则的方法实现RGB颜色转换为16进制,需要的朋友可以参考下
在日常开发中,经常会用到不同格式的颜色域值之间的相互转换,以下给出一种解决方法。
//十六进制颜色值的正则表达式
var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
/*RGB颜色转换为16进制*/
String.prototype.colorHex = function(){
&&& var that =
&&& if(/^(rgb|RGB)/.test(that)){
&&&&&&& var aColor = that.replace(/(?:\(|\)|rgb|RGB)*/g,"").split(",");
&&&&&&& var strHex = "#";
&&&&&&& for(var i=0; i&aColor. i++){
&&&&&&&&&&& var hex = Number(aColor).toString(16);
&&&&&&&&&&& if(hex === "0"){
&&&&&&&&&&&&&&& hex +=&&&&&&&
&&&&&&&&&&& }
&&&&&&&&&&& strHex +=
&&&&&&& if(strHex.length !== 7){
&&&&&&&&&&& strHex =&&&&&&&
&&&&&&& return strH
&&& }else if(reg.test(that)){
&&&&&&& var aNum = that.replace(/#/,"").split("");
&&&&&&& if(aNum.length === 6){
&&&&&&&&&&&&&&&&&&
&&&&&&& }else if(aNum.length === 3){
&&&&&&&&&&& var numHex = "#";
&&&&&&&&&&& for(var i=0; i&aNum. i+=1){
&&&&&&&&&&&&&&& numHex += (aNum+aNum);
&&&&&&&&&&& }
&&&&&&&&&&& return numH
&&& }else{
&&&&&&&&&&&&&&
&/*16进制颜色转为RGB格式*/
&String.prototype.colorRgb = function(){
&&& var sColor = this.toLowerCase();
&&& if(sColor && reg.test(sColor)){
&&&&&&& if(sColor.length === 4){
&&&&&&&&&&& var sColorNew = "#";
&&&&&&&&&&&&&&& for(var i=1; i&4; i+=1){
&&&&&&&&&&&&&&&&&&& sColorNew += sColor.slice(i,i+1).concat(sColor.slice(i,i+1));&&&&&&&
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& sColor = sColorN
&&&&&&& //处理六位的颜色值
&&&&&&& var sColorChange = [];
&&&&&&& for(var i=1; i&7; i+=2){
&&&&&&&&&&& sColorChange.push(parseInt("0x"+sColor.slice(i,i+2)));&&&&&&&
&&&&&&& return "RGB(" + sColorChange.join(",") + ")";
&&& }else{
&&&&&&& return sC&&&&&&&
使用颜色转换方法:
ar sRgb = "RGB(23, 245, 56)" , sHex = "#34538b";
var sHexColor = sRgb.colorHex();
var sRgbColor = sHex.colorRgb();
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具输入示例:
255,100,97&
255,100,97,.5&
#80ee9922 &
颜色格式转换结果颜色预览16进制透明
&ARGB(android常用)透明
&RGBA(HTML5、CSS3常用)透明
&本工具支持以下颜色格式进行转换。颜色类型输入格式RGBA颜色#AB12EFRGB颜色0,100,255RGBA颜色0,100,255,0.5ARGB颜色#55AB12FERGB转16进制:如: (200 , 100 , 50) ,200转16进制C8
100转16进制64
50转16进制32
结果: #C8643216进制转RGB:如: #EEDDCC ,EE转10进制=238DD转10进制=221
CC转10进制=204
结果: (238 , 221 , 204)&颜色英文名称redgreenbluemagentayellowchocolateblackaquamarinelimefuchsiabrassazurebrownbronzedeeppinkalicebluegraycoppercoralfeldsparorangeorchidpinkplumquartzpurplealiceblueantiquewithblanchedalmondbluevioletbeigeburlywoodbisquecadetbluepinksaddlebrownroyalbluerosybrownpurpleorengeredolivedrabpowderbluepeachpuffpapayawhippaleturquoisepalevioletredpalegreennavybluenavajowhitepalegodenrodvioletredyellowgreentomatoturquoisethistlespringgreensteelbluesalmonscarletsiennasilvertanthistleturquoisevioletsnowsalmonscarletsiennasilvertanthistleturquoisevioletchartreusedarkslategraydarkseagreendarkredmediumslatebluemediumvioletredoldlacemaroomgoldenrodwheatwhitesmokeorangemoccasinmistyrosemintcreammidnightbluedimgraydarksalmonslategrayskybluesiennaseashellsalmonseagreensandybrownfirebrickgoldkhakimaroomgoldenrodwheatwhitesmokemediumturquoisenavymediumspringgreenmediumseagreenmediumpurpulperumediumorchidmediumbluemediumaquamarinemaroonlimegreenlightyellowlightsteelbluemagentalightslatebluelightslategraylightskyblueinenlightseagreenlightsalmonlightpinkplumlightgraylightgreenlightgodenrodyellowindianredlavenderlightbluelavenderblushlightcorallightcyanlightgodenrodhotpinkgreenyellowlemonchiffonlawngreendarkorchiddeepskybluehoneydewgolenrodforestgreengostwhitegreenyellowgainsborofirebrickdodgerbluedarkturquoisedarkslatebluedarkslategraydarkseagreendarkreddarkorchiddarkorengedarkslatebluedarkvioletfloralwhitecyandarkgoldenrodcornsilkdarkolivegreenbisquedarkgraydarkbluedarkcyandarkgreendarkhakiivorydarkmagentadarkgraycornfloewrbluecornfloewrbluedarkvioletfloralwhitedarkorengedarkslateblue&颜色代码表&#FFFFFF&#FFFFF0&#FFFFE0&#FFFF00&#FFFAFA&#FFFAF0&#FFFACD&#FFF8DC&#FFF68F&#FFF5EE&#FFF0F5&#FFEFDB&#FFEFD5&#FFEC8B&#FFEBCD&#FFE7BA&#FFE4E1&#FFE4C4&#FFE4B5&#FFE1FF&#FFDEAD&#FFDAB9&#FFD700&#FFD39B&#FFC1C1&#FFC125&#FFC0CB&#FFBBFF&#FFB90F&#FFB6C1&#FFB5C5&#FFAEB9&#FFA54F&#FFA500&#FFA07A&#FF8C69&#FF8C00&#FF83FA&#FF82AB&#FF8247&#FF7F50&#FF7F24&#FF7F00&#FF7256&#FF6EB4&#FF6A6A&#FF69B4&#FF6347&#FF4500&#FF4040&#FF3E96&#FF34B3&#FF3030&#FF1493&#FF00FF&#FF0000&#FDF5E6&#FCFCFC&#FAFAFA&#FAFAD2&#FAF0E6&#FAEBD7&#FA8072&#F8F8FF&#F7F7F7&#F5FFFA&#F5F5F5&#F5F5DC&#F5DEB3&#F4F4F4&#F4A460&#F2F2F2&#F0FFFF&#F0FFF0&#F0F8FF&#F0F0F0&#F0E68C&#F08080&#EEEEE0&#EEEED1&#EEEE00&#EEE9E9&#EEE9BF&#EEE8CD&#EEE8AA&#EEE685&#EEE5DE&#EEE0E5&#EEDFCC&#EEDC82&#EED8AE&#EED5D2&#EED5B7&#EED2EE&#EECFA1&#EECBAD&#EEC900&#EEC591&#EEB4B4&#EEB422&#EEAEEE&#EEAD0E&#EEA9B8&#EEA2AD&#EE9A49&#EE9A00&#EE9572&#EE82EE&#EE8262&#EE7AE9&#EE799F&#EE7942&#EE7621&#EE7600&#EE6AA7&#EE6A50&#EE6363&#EE5C42&#EE4000&#EE3B3B&#EE3A8C&#EE30A7&#EE2C2C&#EE1289&#EE00EE&#EE0000&#EDEDED&#EBEBEB&#EAEAEA&#E9967A&#E8E8E8&#E6E6FA&#E5E5E5&#E3E3E3&#E0FFFF&#E0EEEE&#E0EEE0&#E0E0E0&#E066FF&#DEDEDE&#DEB887&#DDA0DD&#DCDCDC&#DC143C&#DBDBDB&#DB7093&#DAA520&#DA70D6&#D9D9D9&#D8BFD8&#D6D6D6&#D4D4D4&#D3D3D3&#D2B48C&#D2691E&#D1EEEE&#D1D1D1&#D15FEE&#D02090&#CFCFCF&#CDCDC1&#CDCDB4&#CDCD00&#CDC9C9&#CDC9A5&#CDC8B1&#CDC673&#CDC5BF&#CDC1C5&#CDC0B0&#CDBE70&#CDBA96&#CDB7B5&#CDB79E&#CDB5CD&#CDB38B&#CDAF95&#CDAD00&#CDAA7D&#CD9B9B&#CD9B1D&#CD96CD&#CD950C&#CD919E&#CD8C95&#CD853F&#CD8500&#CD8162&#CD7054&#CD69C9&#CD6889&#CD6839&#CD661D&#CD6600&#CD6090&#CD5C5C&#CD5B45&#CD5555&#CD4F39&#CD3700&#CD3333&#CD3278&#CD2990&#CD2626&#CD1076&#CD00CD&#CD0000&#CCCCCC&#CAFF70&#CAE1FF&#C9C9C9&#C7C7C7&#C71585&#C6E2FF&#C67171&#C5C1AA&#C4C4C4&#C2C2C2&#C1FFC1&#C1CDCD&#C1CDC1&#C1C1C1&#C0FF3E&#BFEFFF&#BFBFBF&#BF3EFF&#BEBEBE&#BDBDBD&#BDB76B&#BCEE68&#BCD2EE&#BC8F8F&#BBFFFF&#BABABA&#BA55D3&#B9D3EE&#B8B8B8&#B8860B&#B7B7B7&#B5B5B5&#B4EEB4&#B4CDCD&#B452CD&#B3EE3A&#B3B3B3&#B2DFEE&#B23AEE&#B22222&#B0E2FF&#B0E0E6&#B0C4DE&#B0B0B0&#B03060&#AEEEEE&#ADFF2F&#ADD8E6&#ADADAD&#ABABAB&#AB82FF&#AAAAAA&#A9A9A9&#A8A8A8&#A6A6A6&#A52A2A&#A4D3EE&#A3A3A3&#A2CD5A&#A2B5CD&#A1A1A1&#A0522D&#A020F0	FB6CD	F79EE	E9E9E	C9C9C	BCD9B	B30FF	AFF9A	ACD32	AC0CD	A32CD󴈿⛌CCbFB98bF5FFaFFFF`CDCD󬯠󧳶ⒸD3⒚DB󠚗ΐCEEZEE90FBC8FF8F8FEE5EEE8E8EE8E38E388EDEEEEDB6CDC8C8CB8B83B8B7AB8B00B8989B8970B8878B8682B864EB8386B8378B814CB7E66B7D7BB7D6BB7B8BB795EB7765B7500B7355B6969B6914B668BB6508B636CB5F65B5A2BB5A00B5742B4C39B4789B475DB4726B4513B4500B3E2FB3A62B3A3AB3626B2500B2323B2252B1C62B1A1AB0A50B008BB0000A8A8AA2BE2⌈CDWCEFFWCEFAWCEEB󖣃󑧙󏉤№FF͆B8B͆B83̈́FFF󊍺FFFD4FFF00F7F7FEC0EED9EC0D7D7DD26CDCFC00CCD7CB68EEAC5CDA8B8BA7A7AA67EEA378BOCDCD󀖦򾊓LEEC6LEE00򸽇򴁝GC671ᰃC6򬷺򬧾E8B3DE7B8BE6E6ECA6CDC7B8BB8E23B6B6BA5ACDʺB69ʺB22򪊉ᬯCD𐳦B𐪄BBCDAABCD00ʜB8B򢰪ᥟED?B8FF򛗋򖛡ɟB8BF9EA0E5E5ED478BCACEEC5C5CB5B5B򑟷򌤍ȬB2F򇨣ȧA8B6FF9FȤB54򅊮퉬BȐB8B򀏄񽱏F94CDF4F4FEEE94D4D4DB0082A708BA4A4A0D1CCጌFFǣD8B񳹻ǙC8BቊB4NJB74NJB00񮾑+CD80ƴEEE񧤲၉E1(E0D0񢩈D3D3DCB371B3B3BA5FCDƄE8E񝭞輨B񘱴񑘕 CD32񉾶F4F4FE8B57E2E2EB2B2B񇡁񅃌欐B񀇢𻋸äB22𵛴𳲙B2AAF1F1FE90FFE1E1EC86EEC1C1CA1A1A𮷢ݒCD𩻅𢡦𝥼hE8B�F0F0F�D0D0D�A0A0A𓮨앉癟�FFFF�FF7F�FF00�FA9A�F5FF�EEEE�EE76�EE00�E5EE�CED1�CDCD�CD66�CD00�C5CD�BFFF�B2EE	ACDB8BB45B00ͤBʰBᤀ�FF�EE�CD�AABP�&
Copyright (C) 2014,
, All Rights Reserved温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(3788)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
在LOFTER的更多文章
loftPermalink:'',
id:'fks_',
blogTitle:'js 将color值rgb转化为16进制',
blogAbstract:'javascript通过dom获得backgroundColor等style的颜色值时得到的是一个rgb格式的值,如rgb(12,12,12).下面是我写的一个转换函数:&&&&&&&&&& &&&&&&&&&&& function RGBToHex(rgb){&&&&&&&&&&& &&&&&&&&&&&&&&& var regexp = /^rgb\\(([0-9]{0,3})\\,\\s([0-9]{0,3})\\,\\s([0-9]{0,3})\\)/g;&&&&&&&&&&&&&&& var re = rgb.replace(regexp, \"$1 $2 $3\").split(\" \");//利用正则表达式去掉多余的部分&&&&&&&&',
blogTag:'javascript,rgb转为16进制',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:4,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}13647人阅读
JS代码(10)
1.加载js方法
//十六进制颜色值域RGB格式颜色值之间的相互转换
//-------------------------------------
//十六进制颜色值的正则表达式
var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
/*RGB颜色转换为16进制*/
String.prototype.colorHex = function(){
var that =
if(/^(rgb|RGB)/.test(that)){
var aColor = that.replace(/(?:\(|\)|rgb|RGB)*/g,&&).split(&,&);
var strHex = &#&;
for(var i=0; i&aColor. i++){
var hex = Number(aColor[i]).toString(16);
if(hex === &0&){
if(strHex.length !== 7){
return strH
}else if(reg.test(that)){
var aNum = that.replace(/#/,&&).split(&&);
if(aNum.length === 6){
}else if(aNum.length === 3){
var numHex = &#&;
for(var i=0; i&aNum. i+=1){
numHex += (aNum[i]+aNum[i]);
return numH
//-------------------------------------------------
/*16进制颜色转为RGB格式*/
String.prototype.colorRgb = function(){
var sColor = this.toLowerCase();
if(sColor && reg.test(sColor)){
if(sColor.length === 4){
var sColorNew = &#&;
for(var i=1; i&4; i+=1){
sColorNew += sColor.slice(i,i+1).concat(sColor.slice(i,i+1));
sColor = sColorN
//处理六位的颜色值
var sColorChange = [];
for(var i=1; i&7; i+=2){
sColorChange.push(parseInt(&0x&+sColor.slice(i,i+2)));
return &RGB(& + sColorChange.join(&,&) + &)&;
2.调用方法
var sRgb = &RGB(255, 255, 255)& , sHex = Țb&;
var sHexColor = sRgb.colorHex();//转换为十六进制方法
var sRgbColor = sHex.colorRgb();//转为RGB颜色值的方法
colorHex()表示转换为十六进制方法,colorRgb()表示转为RGB颜色值的方法
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:384915次
积分:3546
积分:3546
排名:第7421名
原创:27篇
转载:12篇
译文:24篇
评论:60条
(1)(1)(2)(2)(1)(2)(3)(4)(3)(4)(3)(2)(3)(1)(6)(2)(3)(5)(3)(1)(6)(5)