简洁、易读
1. 先判断是否匹配格式
2. parseInt('255    ', 10) 是等于255的,空格不用处理
3. 注意转化16进制字符需要补全2位
function rgb2hex(sRGB) {
    let reg = /^rgb\(\d+,\d+,\d+\)$/;
    if (!reg.test(sRGB)) return sRGB;
    sRGB = sRGB.slice(sRGB.indexOf('(') + 1, -1);
    let arr = sRGB.split(',');
    let ans = '#';
    for (let v of arr) {
        let n = parseInt(v, 10);
        if (n < 0 || n > 255) return sRGB;
        ans += ('0' + n.toString(16)).slice(-2);
    }
    return ans;
}