首页 试题广场 > 试题详情
编程题

【C022240】将 rgb 颜色字符串转换为十六进制的形式,如 rgb(255, 255, 255) 转为 #ffffff
1. rgb 中每个 , 后面的空格数量不固定
2. 十六进制表达式使用六位小写字母
3. 如果输入不符合 rgb 格式,返回原始输入
输入例子:
rgb2hex('rgb(255, 255, 255)')
输出例子:
#ffffff

回复可见正确答案
下一题 上一题
Ke星伙伴们的回答/ 97个回答 添加答案
  • 三又木 1楼

    <s cript type="text/javas cript">
    //创建转换函数
    var rgb2hex = function(rgb){
    	var arr = rgb.split(',');
    	var result = '#';
            //遍历用split后的数组,提取数字后,对每一项进行16进制转化
    	for(var i=0 ; i<arr.length ; i++){
    		var patt = /d/g ;
    		var hex = '';
    		var num = arr[i].match(patt);
    
    		for(var j=0 ; j<num.length ; j++){
    			hex += num[j];
    		}
    
    		hex = parseInt(hex).toString(16);
    		result += hex;
    	}
    
    	return result;
    }
    
    var rgb = 'rgb(255,255,      255)';
    var result = rgb2hex(rgb);
    
    console.log(result)
    </s cript>

    新手回帖请指正~~

    发表时间:2016-09-21 16:16:37 评论 3

  • 时尚码头 2楼

    rgb2hex('rgb(255,     255   , 255)');  //#ffffff

    rgb2hex('rgb(0,0,0)'); // #000000

    rgb2hex('rgb(15,16,0)');   //#0f1000


    function rgb2hex(rgb){

    // 提取rgb参数到数组

    var arr = rgb.slice(4,rgb.length-1).split(',');

    if(arr.length !== 3){

    return rgb;

    }

    var hex = '#';

    for(var i = 0; i < arr.length; i++){

    arr[i] = arr[i].trim();

    if(!isInteger(arr[i]) || !isHex(arr[i])){

    return rgb;

    }

    hex += toDouble(arr[i]);

    }

    return hex.toLowerCase();

    }

    // 判断是否是整数

    function isInteger(str){

    return str%1 === 0?true:false;

    }

    // 判断是否是16进制

    function isHex(num){

    return (num >= 0 && num <= 255);

    }

    // 补位

    function toDouble(num){

    num = parseInt(num);

    if(num <= 15){

    return 0+num.toString(16);

    }

    return num.toString(16);

    }


    发表时间:2016-11-25 17:56:11 评论 2

  • 吴旭东 3楼

    发表时间:2016-09-19 08:17:39 评论 0

  • 倩儿的愿望 4楼

    answer

    发表时间:2016-09-20 08:43:51 评论 0

  • 茗飨 5楼

    ??

    发表时间:2016-09-21 16:15:16 评论 0

  • 6Plus ???? 6楼

    1
    发表时间:2016-10-08 11:02:31 评论 0

  • 悠悠远笛 7楼

    我想看答案
    发表时间:2016-10-08 11:30:01 评论 0

  • 威先生坏坏de我 8楼

    小白
    发表时间:2016-10-09 10:47:12 评论 0

  • 贾小熙 9楼

    发表时间:2016-10-10 23:01:16 评论 0

  • 小猪葛 10楼

    q
    发表时间:2016-10-10 23:49:55 评论 0

  • 咖啡63 11楼

    发表时间:2016-10-13 07:07:26 评论 0

  • SoSS 12楼

    •́ε•̀٥
    发表时间:2016-10-18 09:53:47 评论 0

  • 白糖稀饭 13楼

    求解
    发表时间:2016-10-21 23:06:10 评论 0

  • 雪ya 14楼

    1

    发表时间:2016-10-22 02:04:04 评论 0

  • 亲爱陌生人 15楼

    感觉没看懂

    发表时间:2016-10-22 10:01:48 评论 0

贡献榜
关闭
关闭
QQ
交流群
邀请
好友
App
下载
意见
反馈
返回
顶部