颜色字符串转换(正则)
生活随笔
收集整理的這篇文章主要介紹了
颜色字符串转换(正则)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
將 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
總結
以上是生活随笔為你收集整理的颜色字符串转换(正则)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Centos下使用Docker部署asp
- 下一篇: ECharts xAxis.type='