How to change an rgb value in a javascript string of css styles to hex value with regex + replace
I have been struggling with this for a while now so I thought I would ask here to see if anyone can help me out.
I have a string of css styles in javascript which looks like this:
width: 250px; background-color: rgb(48, 44, 48);
I am trying to replace the rgb value in the string with a hex value by running it through a function I have called 开发者_开发问答RGBtoHEX so I am left with a string like the following:
width: 250px; background-color: #302C30;
I am struggling to create the regex to get the rgb string from the main string to pass to the function.
Any help with this would be great.
Thanks for looking
Try something like this:
str.replace(
/\brgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/g,
function($0, $1, $2, $3) {
return "#" + ("0"+Number($1).toString(16)).substr(-2) + ("0"+Number($2).toString(16)).substr(-2) + ("0"+Number($3).toString(16)).substr(-2);
})
You can try putting the css line in a string and extracting the rgb values character by character.
精彩评论