题目描述

将 rgb 颜色字符串转换为十六进制的形式,如 rgb(255, 255, 255) 转为 #ffffff
1. rgb 中每个 , 后面的空格数量不固定
2. 十六进制表达式使用六位小写字母
3. 如果输入不符合 rgb 格式,返回原始输入

代码

 1 function rgb2hex(sRGB) {
 2     var rgb = /rgb\((\d+)\s*,\s*(\d+)\s*,\s*(\d+)\)/;
 3     var rgbArr = sRGB.match(rgb);//rgbArr = {rgb(255, 255, 255),255,255,255}
 4     /*var rgb = /rgb\((\d+)\s*,\s*(\d+)\s*,\s*(\d+)\)/g
 5     //rgb = {rgb(255, 255, 255)}*/
 6     var str = "#";  //颜色值
 7     if(!rgbArr){  //不符合正则匹配
 8         return sRGB;
 9     }
10     else {
11         for(var i = 1 ; i<4; i++){
12             var rgbIndex = parseInt(rgbArr[i]);
13             if(rgbIndex<16 && rgbIndex>=0){
14                 str += ('0'+rgbIndex.toString(16));//保留两位数
15             }
16             else if(rgbIndex>=16 && rgbIndex<=255){
17                 str += rgbIndex.toString(16);
18             }
19             else {
20                 return sRGB;  //不是颜色值字符
21             }
22         }
23         return str;
24     }
25 }

来源:牛客网

转载于:https://www.cnblogs.com/daheiylx/p/9010821.html

颜色字符串转换(正则)相关推荐

  1. 字符串转换为列表 python_python,_python把字符串转换成列表,python - phpStudy

    python把字符串转换成列表 python{'title': u'第一条新闻标题', 'description': u'第一条新闻描述,这条新闻没有预览图','picurl':u'http://im ...

  2. 如何把一段逗号分割的字符串转换成一个数组?

    String.split() StringTokenizer类 package com.study.JavaBase;import org.junit.Test;import java.util.Ar ...

  3. Visual Basic 2005 - 如何将色彩字符串转换成 Color 结构

    Visual Basic 2005 - 如何将色彩字符串转换成 Color 结构   之前有读者询问,如何将字符串转换成色彩,当时我们建议可以利用 ColorDialog 来让用户选取颜色.不过这样做 ...

  4. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...

    json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 原文:json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 主要内容: 一 ...

  5. php人民币转换,PHP字符串转换RMB形式数字

    字符串与数字转换的前提是字符串为数字型否则就会转成0了,下面我们要介绍的是像0001000我们要转成1000,00这种,下面来看看. PHP 是一门脚本语言,但它很神奇,你用POST一串数字过去,用v ...

  6. python种颜色循环_Python 实现一个颜色色值转换的小工具

    需求说明 公司的 UI 设计小哥,已经转用 Zeplin 很久了.Zeplin 的设计稿展示页面的颜色色值使用十进制的 RGB 表示的,在 Android 中的颜色表示大多情况下都需要十六进制的 RG ...

  7. 8. 字符串转换整数 (atoi)(正则表达式)

    字符串转换整数--C, Python实现 1. 问题描述与分析 2. C语言实现 3. Python实现 3.1 普通判断法 3.2 正则表达式法 1. 问题描述与分析 问题描述: 问题分析: 该算法 ...

  8. VB 汉字字符串转换成拼音

    以下这个函数可以将一个汉字字符串转换成拼音 Private Function Getpy(Txt) Dim d, TmpTxt Dim wzcode, i, TmpWZ, a, b, ii Set d ...

  9. 微信小程序之js 字符串转换成数字的三种方法, 取float型小数点后两位数的方法

    在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,因为他们都是字符串形 ...

最新文章

  1. 想自学Python却不知该如何入门?这篇文章带你轻松入门Python
  2. Eclipse导入Maven项目出现错误:Unsupported IClasspathEntry kind=4
  3. ai怎么画循环曲线,怎么用 Adobe Illustrator 画出曲率连续的曲线?
  4. mybatis插入mysql出现中文乱码
  5. vue-router 按需加载
  6. 沈阳职业计算机学院宿舍几人间,沈阳工学院宿舍怎么样 住宿条件好不好
  7. 使用redis批量生成主键(订单)Id
  8. mingw64 下 java_Win7 64 配置MinGW,以及使用Eclipse
  9. IE 7.0抛弃Win2000用户?(zz)
  10. 为什么有人说开车时,最能看出一个人的情商和潜力?
  11. N---Exponentiation
  12. 币圈名利场,一场赤裸裸的狼人杀
  13. 华为机试HJ64:MP3光标位置
  14. mybatis项目报错:java.sql.SQLException: ORA-00911: 无效字符 解决方法
  15. python批量安装第三方库_使用Python批量安装第三方库
  16. 搜狗CEO王小川:很多语音识别公司在AI领域掉进了陷阱
  17. 【编程题目】寻找丑数
  18. Window下本地redis的安装、配置以及java版试用
  19. 系统性的学会 Pandas, 看这一篇就够了!
  20. 水箱液位计算机控制系统设计,水箱水位PLC自动控制系统的设计_吕宁.pdf

热门文章

  1. dump文件的生成及的分析
  2. Ch -- 一个 C/C++ 解释器
  3. 易捷win10系统电脑卡在“正在关机”界面怎么处理?
  4. linux中Daemon守护进程编程
  5. 微服务架构的优势与不足(二)
  6. 《神探tcpdump第四招》-linux命令五分钟系列之三十八
  7. 一个不错的git学习网站
  8. 空腹吃香蕉对身体好吗?哪些水果不宜空腹吃
  9. DHTML【2】--HTML
  10. ZOJ-2366 Weird Dissimilarity 动态规划+贪心