定义和用法
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。
语法
stringObject.match(searchvalue) stringObject.match(regexp)
参数 | 描述 |
---|---|
searchvalue | 必需。规定要检索的字符串值。 |
regexp | 必需。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。 |
题目描述
将 rgb 颜色字符串转换为十六进制的形式,如 rgb(255, 255, 255) 转为 #ffffff
1. rgb 中每个 , 后面的空格数量不固定
2. 十六进制表达式使用六位小写字母
3. 如果输入不符合 rgb 格式,返回原始输入
1. rgb 中每个 , 后面的空格数量不固定
2. 十六进制表达式使用六位小写字母
3. 如果输入不符合 rgb 格式,返回原始输入
示例1
输入
‘rgb(255, 255, 255)‘
输出
#ffffff
function rgb2hex(sRGB) { var aa=/rgb\((\d+),\s*(\d+),\s*(\d+)\)/; var ret=sRGB.match(aa); if(!ret){ return sRGB; }else{ var str=‘#‘; for(var i=1;i<=3;i++){ var m=parseInt(ret[i]); if(m<=255&&m>=0){ str+=(m<16?‘0‘+m.toString(16):m.toString(16)); }else{ return sRGB; } } return str; } }
parseInt() 函数可解析一个字符串,并返回一个整数