我正在拦截用户对分页链接的点击,我只需要从该链接中提取页码,该链接始终设置在页面变量中。
所以在我的js里面我有....
var a = $a.attr("href");
.. 输出这个
/Home/GetTabData?page=2&activeTab=House
那么我怎样才能从page=之后只提取这个数字
如果重要,请记住这个数字可以是两位或三位长,并且 activeTab 是动态值。
谢谢
我正在拦截用户对分页链接的点击,我只需要从该链接中提取页码,该链接始终设置在页面变量中。
所以在我的js里面我有....
var a = $a.attr("href");
.. 输出这个
/Home/GetTabData?page=2&activeTab=House
那么我怎样才能从page=之后只提取这个数字
如果重要,请记住这个数字可以是两位或三位长,并且 activeTab 是动态值。
谢谢
使用一些regex,您可以像这样提取它:
var num = +(a.match(/page=(\d+)&/)[1]);
在上面的代码中:
/page=(\d+)&/
是匹配 和 之间的数字(一个或多个数字字符)的正则"page="
表达式"&"
。请注意,我们已经分组了(\d+)
这是我们之后的数字
+
前缀用于将提取的字符串转换为数字。这类似于使用parseInt()
获得链接后,在本例中为 a,您只需使用 indexOf() 在字符串中搜索“page=”,然后从那里创建一个子字符串到下一个 & 字符。
var start, end, value;
start = a.indexOf("page=");
end = a.indexOf("&", start);
value = a.substring(start+5, end);
有关 IndexOf() 的更多信息 http://www.w3schools.com/jsref/jsref_indexof.asp