以原型的方式,给string字符串类型添加方法,用于实现颜色值格式的转换;不习惯使用原型方法的,只要借鉴实现方法就好!

代码如下:

var reg = /^#([0-9a-fA-f]{3}|[0-9a-fA-f]{6})$/;
/*RGB颜色转换为16进制*/
String.prototype.colorHex = function(){
var that = this;
if(/^(rgb|RGB)/.test(that)){
var aColor = that.replace(/(?:\(|\)|rgb|RGB)*/g,"").split(",");
var strHex = "#";
for(var i=0; i<aColor.length; i++){
var hex = Number(aColor[i]).toString(16);
if(hex === "0"){
hex += hex;
}
strHex += hex;
}
if(strHex.length !== 7){
strHex = that;
}
return strHex;
}else if(reg.test(that)){
var aNum = that.replace(/#/,"").split("");
if(aNum.length === 6){
return that;
}else if(aNum.length === 3){
var numHex = "#";
for(var i=0; i<aNum.length; i+=1){
numHex += (aNum[i]+aNum[i]);
}
return numHex;
}
}else{
return that;
}
}; //------------------------------------------------- /*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 = sColorNew;
}
//处理六位的颜色值
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 sColor;
}
};
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 = sColorNew;
}
//处理六位的颜色值
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 sColor;
}
}

使用方法如下:

"rgb(255,255,255)".colorHex();
//输出: "#ffffff" "#ffffff".colorRgb();
//输出:"RGB(255,255,255)"

  

------------------------------------------------

  博主经营一家发饰淘宝店,都是纯手工制作哦,开业冲钻,只为信誉!需要的亲们可以光顾一下!谢谢大家的支持!
店名:
  小鱼尼莫手工饰品店
经营:
  发饰、头花、发夹、耳环等(手工制作)
网店:
  http://shop117066935.taobao.com/

---------------------------------------------------------------------

转载请注明出处:http://www.cnblogs.com/qiongmiaoer/p/4566083.html

最新文章

  1. WeX5 - AJAX跨域调用相关知识-CORS和JSONP
  2. require.js笔记
  3. redis监控状态
  4. URL重写以后发布到IIS找不到页面
  5. phpstorm自动对齐数组=&gt;,自动加空格
  6. SQL按照日、周、月、年统计数据
  7. 《uname命令》-linux命令五分钟系列之五
  8. C++ ASCII 码的一些问题
  9. 读书笔记 effective c++ Item 51 实现new和delete的时候要遵守约定
  10. LINUX 笔记-grep命令
  11. 基于数据形式说明杜兰特的技术特点的分析(含Python实现讲解部分)
  12. windows.go
  13. ORM基础之ORM介绍和基础操作
  14. Flask之 安装与HelloWorld
  15. PHP的生命周期:
  16. 从构建分布式秒杀系统聊聊WebSocket推送通知
  17. 六、编写第一个应用【外部nodejs调用】
  18. [openjudge-动态规划]鸣人的影分身
  19. Yii ActiveRecord生命周期
  20. [UE4]Child Widget中的事件调度器

热门文章

  1. [Android] 关于Android的问号?和@符号的用法
  2. Eclipse复制项目彻底修改项目名称
  3. JSON.parse 必须用双引号包起来
  4. [Algorithm] Calculate Pow(x,n) using recursion
  5. 一文看懂 Dubbo 的集成与使用
  6. Script Browser &amp; Script Analyzer 1.3更新发布
  7. 基于Centos搭建Maven 安装与使用
  8. 常用七种排序的python实现
  9. Google file system
  10. oracle 回收表空间的数据文件大小