我在访问和转发ID时遇到了一些问题。 我成功地从我的URL中提取了ID,但如果URL包含不可预测的数字,我会遇到问题。
稍微澄清一点:
到目前为止我努力提取ID(JS)
var idString = window.location.href;
idString = idString.replace(/e107/gi, "__ersetzt__");
idString = idString.replace("http://localhost/Westbomke/backendV5/", "");
idString = idString.replace(/[^0-9]+/g, "");
一些网址示例
工作:
http://localhost/Westbomke/backendV5/e107-master/e107_projekte/BMW/235_Projekt_BMW-Event/page.php 结果:235 = id
不工作:
localhost / Westbomke / backendV5 / e107-master / e107_projekte / BMW / 235_Projekt_BMW-Event01 / page.php
localhost / Westbomke / backendV5 / e107-master / e107_projekte / company1337 / 235_Projekt_1337Event / page.php
现在如果我可以排除/ ****** _ Projekt_ Part(**** =随机数量的数字)并将其解析为整数我会没事的,但我不知道怎么做或者如果这是可能的。
我试图在这里和谷歌找到一些东西,但我很可能不会要求正确的东西。
提前感谢您的时间和帮助!
答案 0 :(得分:1)
您可以尝试:
var url = 'http://localhost/Westbomke/backendV5/e107-master/e107_projekte/BMW/235_Projekt_BMW-Event/page.php';
var id = +url.match(/\/(\d+)/)[1];
答案 1 :(得分:0)
这个网址在结构方面是否稳定? 如果您不熟悉正则表达式并且结构非常稳定,那么以下代码将为您完成工作:
var myString = "http://localhost/Westbomke/backendV5/e107-master/e107_projekte/BMW/235_Projekt_BMW-Event/page.php";
var mySplitString = myString.split("/");
var myNumber = parseInt(mySplitString[8]);
console.log(myNumber);
添加以下功能,为您提供更多灵活性。
var myString = "http://localhost/Westbomke/backendV5/e107-master/e107_projekte/BMW/235_Projekt_BMW-Event/page.php";
function getProject(myString , myDist){
var mySplitString = myString.split("/");
var myID = '';
mySplitString.forEach(function(key , index){
if(key.indexOf(myDist) > 0)
myID = parseInt(mySplitString[index]);
});
return myID;
}
var myID = getProject(myString , "Projekt");
console.log(myID);