js type automatic conversion
js type automatic conversion
String & Number
`255` < 16;
false
`15` < 16;
true
`25` < 16;
false
`15` + 16;
"1516"
`15` * 16;
240
`15` - 16;
-1
`15` / 16;
0.9375
demo
function rgb2hex (sRGB = 'rgb(255, 255, 255)') {
const regex = /^(rgb|RGB)\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)/;
if(!regex.test(sRGB)){
return sRGB;
}else {
function hex(str) {
// string < number ❓⚠️
return str < 16 ? "0" + Number(str).toString(16) : Number(str).toString(16);
}
return sRGB.replace(regex, function(a, c, r, g, b){
console.log(`a, c`, a, c);
console.log(`r, g, b`, r, g, b);
console.log(`typeof r, typeof g, typeof b`, typeof r, typeof g, typeof b);
// console.log(`a, c, r, g, b`, a, c, r, g, b);
return "#" + hex(r) + hex(g) + hex(b);
})
}
}
// OK ✅
/^(rgb|RGB)\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)/
// Error ❌
/^rgb\([\s*\d+,]{2}[\s*\d+]{1}\)$/
refs
https://regexper.com/#%2F^(rgb|RGB)\((\d{1%2C3})%2C\s%28%5Cd%7B1%2C3%7D%29%2C%5Cs%28%5Cd%7B1%2C3%7D%29%5C%29%2F
©xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
本文首发于博客园,作者:xgqfrms,原文链接:https://www.cnblogs.com/xgqfrms/p/13557109.html
未经授权禁止转载,违者必究!