我有这个网址
http://nikerunning.nike.com/nikeplus/v2/services/app/run_list.jsp?userID=1413795052&startIndex=0&endIndex=-1&filterBy=all
我想在javascript中使用正则表达式获取1413795052
数字,我该如何实现?
答案 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]+/);