开发者

How to change an rgb value in a javascript string of css styles to hex value with regex + replace

开发者 https://www.devze.com 2023-02-21 13:01 出处:网络
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 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.

0

精彩评论

暂无评论...
验证码 换一张
取 消