使用js将此String拆分为数组

时间:2017-05-20 19:48:24

标签: javascript jquery regex

我有以下字符串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表达式来帮助解决这个问题 感谢。

2 个答案:

答案 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))'));