如何从javascript正则表达式中获取此URL的数字

时间:2011-09-07 08:53:20

标签: javascript regex

我有这个网址

http://nikerunning.nike.com/nikeplus/v2/services/app/run_list.jsp?userID=1413795052&startIndex=0&endIndex=-1&filterBy=all

我想在javascript中使用正则表达式获取1413795052数字,我该如何实现?

4 个答案:

答案 0 :(得分:14)

var url = 'http://nikerunning.nike.com/nikeplus/v2/services/app/run_list.jsp?userID=1413795052&startIndex=0&endIndex=-1&filterBy=all';
var match = url.match(/userID=(\d+)/)
if (match) {
    var userID = match[1];
}

这匹配URL中userID参数的值。

/userID=(\d+)/是一个正则表达式字面值。工作原理:

  • /是分隔符,例如字符串"
  • userID=userID=
  • 中搜索字符串url
  • (\d+)搜索一个或多个十进制数字并捕获它(返回它)

答案 1 :(得分:3)

在stackoverflow中尝试一下:

window.location.pathname.match(/questions\/(\d+)/)[1]
> "7331140"

或整数:

~~window.location.pathname.match(/questions\/(\d+)/)[1]
> 7331140

答案 2 :(得分:2)

尝试:

var input = "http://nikerunning.nike.com/nikeplus/v2/services/app/run_list.jsp?userID=1413795052&startIndex=0&endIndex=-1&filterBy=all";

var id = parseInt( input.match(/userID=(\d+)/)[1] );

答案 3 :(得分:2)

这将获取查询字符串中的所有数字:

window.location.search.match(/[0-9]+/);