正则表达式从url字符串解析动态参数

时间:2011-12-13 16:41:44

标签: javascript jquery

我的网址如下:www.mysite.com?paramNamePrefixXXX = value

解析XXX为动态/未知的参数名称/值的网址的最佳方法是什么..

因为我在渲染时不知道参数名称..我想匹配'startswith ..'paramNamePrefix'+ XXX(其中XXX是一些字符串..)并返回值

jquery提供了一种简单的方法吗?

2 个答案:

答案 0 :(得分:0)

我相信这会解析它。如果在某种程度上参数值中存在=符号,那么编写它的方式就会遇到的唯一问题。

((?<=&|\?).+?)(?<=\=)(.+?(?=&|$))

基本上我已经在2个参考组中获得了它

((?<=&|\?).+?)&lt; - 使用后面的

来捕获参数名称

(?<=\=)

(.+?(?=&|$))&lt; - 使用前瞻捕获参数值

答案 1 :(得分:0)

var url = "http://www.mysite.com?foo=bar&paramNamePrefixXXX=value&fizz=buzz",
    prefix = "paramNamePrefix";

var desiredValue = url.match(new RegExp('[?&]' + prefix + '.*?=(.*?)[&#$]', ''));
desiredValue = desiredValue && desiredValue[1];

console.log(desiredValue); // -> "value"

Demo