如何匹配url值对中的数字

时间:2012-02-14 02:11:24

标签: javascript regex

我正在写一个Javascript函数。我需要从以下变量中获取数字228

var cancelURL = "artGallery.cgi?productid=228&key=photo&resultsC=20";

有人可以告诉我如何编写正则表达式模式来搜索值对中的数字吗?

3 个答案:

答案 0 :(得分:1)

var n = (cancelURL.match(/(?:\?|&)productid=(\d+)/) || [null,null])[1];

alert(n);

答案 1 :(得分:0)

如果您一直在寻找productid,则可以使用/productid=([^&]*)/i作为正则表达式。这将抓住=之后和下一个&之前的所有内容。

答案 2 :(得分:0)

使用以下正则表达式匹配整个网址,然后在匹配的内容中查找名为parvalue的组,这些组分别匹配参数和=之后的相应值:

[^?]+\?(\&?(?<par>\w+)=(?<value>\w+))+

这是一般解决方案,但也解决了查找productid参数的具体问题。