我正在写一个Javascript函数。我需要从以下变量中获取数字228
var cancelURL = "artGallery.cgi?productid=228&key=photo&resultsC=20";
有人可以告诉我如何编写正则表达式模式来搜索值对中的数字吗?
答案 0 :(得分:1)
var n = (cancelURL.match(/(?:\?|&)productid=(\d+)/) || [null,null])[1];
alert(n);
答案 1 :(得分:0)
如果您一直在寻找productid
,则可以使用/productid=([^&]*)/i
作为正则表达式。这将抓住=
之后和下一个&
之前的所有内容。
答案 2 :(得分:0)
使用以下正则表达式匹配整个网址,然后在匹配的内容中查找名为par
和value
的组,这些组分别匹配参数和=
之后的相应值:
[^?]+\?(\&?(?<par>\w+)=(?<value>\w+))+
这是一般解决方案,但也解决了查找productid
参数的具体问题。