Javascript正则表达式多重匹配
这个问题在这里已经有了答案:
你可以使用正则表达式来做到这一点。
var qualityRegex = /(?:^|[&;])quality=([^&;]+)/g,
matches,
qualities = [];
while (matches = qualityRegex.exec(window.location.search)) {
qualities.push(decodeURIComponent(matches[1]));
}
的jsfiddle。
质量将是qualities
。
对于希望能够匹配url中的非预定义参数名称的人,@alex的答案略有变化。
var getUrlValue = function(name, url) {
var valuesRegex = new RegExp('(?:^|[&;])' + name + '=([^&;]+)', 'g'),
matches,
values = [];
while (matches = valuesRegex.exec(url)) {
values.push(decodeURIComponent(matches[1]));
}
return values;
}
var url = 'http://www.somedomain.com?id=12&names=bill&names=bob&names=sally';
// ["bill", "bob", "sally"]
var results = getUrlValue('names', url);
的jsfiddle
链接地址: http://www.djcxy.com/p/17605.html