获取URL中的最后一个数字
如何从左到右找到URL中的最后一个数字?
例如:
https://www.portal-gestao.com/introducao-6849.html
将返回: 6849
和:
https://www.portal-gestao.com/curso-modelos-negocio/1452-introducao/6850-melhores-praticas-no-uso-de-folhas-de-calculo.html
将返回: 6850
这就是我正在尝试的:
编辑:更新的代码
jQuery('a.title').each(function () { var $link=jQuery(this); var href=$link.attr('href'); var idx = href.indexOf('/')!=-1?1:0; // choose the second one if slash var procura=href.match(/(\d+)/g)[idx]; jQuery.each(obj,function(_,test) { if(test.indexOf(procura)!=-1) { // only works on strings .... } }); });
这是一个通用的解决方案,可以为您提供字符串中的最后一个数字(不一定是URL)
function getLastNumberOfString(str){ var allNumbers = str.replace(/[^0-9]/g, ' ').trim().split(/\s+/); return parseInt(allNumbers[allNumbers.length - 1], 10); }
您可以使用regex
获取最后一个数字,如下所示。
function getLastNumber(url) { var matches = url.match(/\d+/g); return matches[matches.length - 1]; } var url = 'https://www.portal-gestao.com/curso-modelos-negocio/1452-introducao/6850-melhores-praticas-no-uso-de-folhas-de-calculo.htm'; console.log(getLastNumber(url));
这个正则表达式应该可以完成这项工作,它可以获取myString
的最后一个数字:
var myString = "https://www.portal-gestao.685com/introducao-6849.html"; var myRegexp = /(\d+)\D*$/g; var match = myRegexp.exec(myString); alert(match[1]);