我有以下字符串linear-gradient(124deg, rgb(255, 36, 0), rgb(232, 29, 29), rgb(232, 183, 29), rgb(227, 232, 29), rgb(29, 232, 64), rgb(29, 221, 232), rgb(43, 29, 232), rgb(221, 0, 243), rgb(221, 0, 243))
我想分成像
这样的arrray[
"rgb(255, 36, 0)",
"rgb(232, 29, 29)",
"rgb(232, 183, 29)",
"rgb(227, 232, 29)",
"rgb(29, 232, 64)",
"rgb(29, 221, 232)",
"rgb(43, 29, 232)",
"rgb(221, 0, 243)",
"rgb(221, 0, 243)"
]
有人可以使用js / jquery reguar表达式来帮助解决这个问题 感谢。
答案 0 :(得分:5)
您可以使用正则表达式。
var gradient = 'linear-gradient(124deg, rgb(255, 36, 0), rgb(232, 29, 29), rgb(232, 183, 29), rgb(227, 232, 29), rgb(29, 232, 64), rgb(29, 221, 232), rgb(43, 29, 232), rgb(221, 0, 243), rgb(221, 0, 243))';
var rgbRegex = /rgb\((\d{1,3}), (\d{1,3}), (\d{1,3})\)/g;
var colors = gradient.match(rgbRegex);
console.log(colors);
答案 1 :(得分:1)
试试这个
function parse(text) {
return text.match(/rgb\(.+?\)/g);
}
console.log(parse('linear-gradient(124deg, rgb(255, 36, 0), rgb(232, 29, 29), rgb(232, 183, 29), rgb(227, 232, 29), rgb(29, 232, 64), rgb(29, 221, 232), rgb(43, 29, 232), rgb(221, 0, 243), rgb(221, 0, 243))'));