欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

颜色字符串转换(正则)

发布时间:2025/7/14 编程问答 59 豆豆
生活随笔 收集整理的这篇文章主要介绍了 颜色字符串转换(正则) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

题目描述

将 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

总结

以上是生活随笔为你收集整理的颜色字符串转换(正则)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。