题解 | #颜色字符串转换#

颜色字符串转换

http://www.nowcoder.com/practice/80b08802a833419f9c4ccc6e042c1cca

首先正则验证是否是有效rgb,无效则直接返回。然后再全局正则匹配数字,最后转成16进制输出即可。

function rgb2hex(sRGB) {
    let p = /rgb\((\d{1,3}\,\s*){2}\d{1,3}\)/;
    if(!p.test(sRGB)){return sRGB}
    let nums = sRGB.match(/\d{1,3}/g);
    let res = '#';
    for (const x of nums){
        let tmp=parseInt(x).toString(16);
        res += tmp.length==1?'0'+tmp:tmp;
    }
    return res;
}
全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务