栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

背景色十六进制到JavaScript变量

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

背景色十六进制到JavaScript变量

试试看:

var rgbString = "rgb(0, 70, 255)"; // get this in whatever way.var parts = rgbString.match(/^rgb((d+),s*(d+),s*(d+))$/);// parts now should be ["rgb(0, 70, 255", "0", "70", "255"]delete (parts[0]);for (var i = 1; i <= 3; ++i) {    parts[i] = parseInt(parts[i]).toString(16);    if (parts[i].length == 1) parts[i] = '0' + parts[i];} var hexString ='#'+parts.join('').toUpperCase(); // "#0070FF"

针对以下评论中的问题:

我正在尝试修改正则表达式以处理rgb和rgba,这取决于我得到哪一个。有什么提示吗?谢谢。

我不确定在此问题的上下文中是否有意义(因为您无法用十六进制表示rgba颜色),但我想可能还有其他用途。无论如何,您可以将正则表达式更改为如下形式:

/^rgba?((d+),s*(d+),s*(d+)(?:,s*(0.d+))?)$/

输出示例:

var d = document.createElement('div');d.style.backgroundColor = 'rgba( 255,  60, 50, 0)';/^rgba?((d+),s*(d+),s*(d+)(?:,s*(1|0.d+))?)$/.exec(d.style.backgroundColor);// ["rgba(255, 60, 50, 0.33)", "255", "60", "50", "0.33"]


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/402635.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号