js实现的CSS color 十六进制与RGB值的转换
来源:互联网 发布:php mysql 中文乱码 编辑:程序博客网 时间:2024/06/06 03:36
demo
;!function (str) { str.HEXtoRGB = function () { var col = this.slice(1).split(''); if (/^[0-9A-Fa-f]{6}$/.test(col.join('')) || /^[0-9A-Fa-f]{3}$/.test(col.join(''))) { (col.length === 3) && !function () { for (i = -3; i < 0; i++) { col.splice(i, 0, '' + col.slice(i)[0]) } } (); return "rgb(" + parseInt(col.slice(0, 2).join(''), 16) + "," + parseInt(col.slice(2, 4).join(''), 16) + "," + parseInt(col.slice(4, 6).join(''), 16) + ")"; } else { return "rgb(0,0,0)" }; }; str.RGBtoHEX = function () { var col = this.toUpperCase(); col = col.replace(/^RGB\((\d{1,3}?)\,(\d{1,3}?)\,(\d{1,3}?)\)$/, function (core, $1, $2, $3) { var a = +$1, b = +$2, c = +$3, cache = ""; (a < 256 && b < 256 && c < 256) ? cache = '#' + a.toString(16) + b.toString(16) + c.toString(16) : cache = "#000"; return cache; }) return col; } }(String.prototype) alert('#978'.HEXtoRGB().RGBtoHEX());
补充:
#fed到#ffeedd还有另一种转换方法:
https://jsfiddle.net/yujg/fo4ryt3d/
'#fed'.replace(/^#(\w)(\w)(\w)$/,'#$1$1$2$2$3$3')
0 0
- js实现的CSS color 十六进制与RGB值的转换
- javascript 十六进制与RGB颜色值的相互转换
- javascript 十六进制与RGB颜色值的相互转换
- javascript 十六进制与RGB颜色值的相互转换
- js中RGB与十六进制颜色转换
- C#十六进制颜色与Color对象的互相转换
- C# 十六进制颜色与Color对象的互相转换
- 十六进制颜色与Color对象的互相转换
- C#十六进制颜色与Color对象的互相转换
- C#十六进制颜色与Color对象的互相转换
- 十六进制与RGB颜色值的相互转换 , 判断一个素数 , 内联函数, 面向对象
- JavaScript随机生成颜色以及十六进制颜色 与RGB颜色值的相互转换
- RGB 颜色值与十六进制颜色码之间的相互转换
- Rgb颜色和十六进制颜色值的相互转换
- Js字符串与十六进制的相互转换
- Js字符串与十六进制的相互转换
- Js字符串与十六进制的相互转换
- Js字符串与十六进制的相互转换
- Java设计模式详解之门面模式1
- Builder模式
- vue-cli 脚手架项目-package.json
- Composer 安装东西遇到github需要token怎么办
- Android深入四大组件(四)广播的注册、发送和接收过程
- js实现的CSS color 十六进制与RGB值的转换
- RecyclerView 数据不一致 Inconsistency detected
- guava 源码之 Lists transform的坑
- Understanding Android Core: Looper, Handler, and HandlerThread
- leetcode167Two Sum II
- Android-Weex之多应用选择窗口处理及页面之间的跳转
- java.lang.IllegalStateException: Unable to process parts as no multi-part configuration has been pro
- 安卓回调函数解决不同类之间函数调用和数据通信的问题
- 应用程序中破解微信数据库做数据分析