所以我想说我有这个HTML链接。
<a id="avId" href="http://www.whatever.com/user=74853380">Link</a>
我有这个JavaScript
av = document.getElementById('avId').getAttribute('href')
返回:
"http://www.whatever.com/user=74853380"
如何从结果字符串中专门提取74853380
?
答案 0 :(得分:1)
您可以使用正则表达式:
var exp = /\d+/;
var str = "http://www.whatever.com/user=74853380";
console.log(str.match(exp));
说明:
/ \ d + / - 表示“一个或多个数字”
当您需要找到多个号码时的另一种情况
"http://www.whatever.com/user=74853380/question/123123123"
您可以使用 g 标记。
var exp = /\d+/g;
var str = "http://www.whatever.com/user=74853380/question/123123123";
console.log(str.match(exp));
您可以使用正则表达式play
答案 1 :(得分:1)
有几种方法可以做到这一点。
1。)使用substr
和indexOf
提取
var str = "www.something.com/user=123123123";
str.substr(str.indexOf('=') + 1, str.length);
2.)使用正则表达式
var str = var str = "www.something.com/user=123123123";
// You can make this more specific for your query string, hence the '=' and group
str.match(/=(\d+)/)[1];
您也可以在=
字符上拆分并在结果数组中取第二个值。你最好的选择可能是正则表达式,因为它更强大。如果您的查询字符串变得更复杂,分割字符或使用substr
和indexOf
可能会失败。如果需要,正则表达式还可以捕获多个组。
答案 2 :(得分:0)
嗯,你可以split()
作为单行答案。
var x = parseInt(av.split("=")[1],10); //convert to int if needed