在javascript或jQuery中获取last/之后的内容
如何使用javascript或jQuery获取url末尾的数字值?数字可以是多个位置,但始终是完整的,例如1-100在javascript或jQuery中获取last/之后的内容,javascript,jquery,Javascript,Jquery,如何使用javascript或jQuery获取url末尾的数字值?数字可以是多个位置,但始终是完整的,例如1-100 http://localhost/mysite/#portfolio/1 returns 1 http://localhost/mysite/#portfolio/12 return 12 http://localhost/mysite/#portfolio/12556456 returns 12556456 您不需要jQuery。它是一个基本的字符串函数。使用: parseI
http://localhost/mysite/#portfolio/1 returns 1
http://localhost/mysite/#portfolio/12 return 12
http://localhost/mysite/#portfolio/12556456 returns 12556456
您不需要jQuery。它是一个基本的字符串函数。使用:
parseInt(url.substr(url.lastIndexOf("/") + 1));
上面将给出一个数字,因为我们使用了parseInt,所以您可以对它进行数字运算
片段
函数getnumurl{
返回parseInturl.substrurl.lastIndexOf/+1,10;
}
document.writegetNumhttp://localhost/mysite/portfolio/1;
document.writegetNumhttp://localhost/mysite/portfolio/12;
document.writegetNumhttp://localhost/mysite/portfolio/12556456; 您可以使用lastIndexOf方法查找/的最后一个索引以及.substr,以从该索引创建子字符串:
url.substr(url.lastIndexOf('/') + 1);
您可以为字符串的match方法提供正则表达式:
var url = "http://localhost/mysite/#portfolio/12556456"
var id = url.match(/\/(\d+)$/)[1];
变量URL=[http://localhost/mysite/portfolio/1, http://localhost/mysite/portfolio/12, http://localhost/mysite/portfolio/12556456]
对于var i=0;ivar str = "http://localhost/mysite/#portfolio/333";
alert(str.split('/').pop())
您应该始终使用parseInt@billyonecan补充。为什么会这样?主要是因为:如果输入字符串以0开头,则基数为8个八进制或10个十进制。具体选择哪个基数取决于实现。ECMAScript 5指定使用10十进制,但并非所有浏览器都支持这一点。因此,在使用parseInt时始终指定基数。-与字符串方法相比,正则表达式的速度较慢。必须提供相同答案3的替代方法: