分割URL路径并仅获取其中的两部分

时间:2017-04-24 12:17:59

标签: jquery html arrays split

我需要拆分用户输入的路径并仅抓取其中的某些部分。对于例如如果用户输入路径为:

/content/mypath/myfolder/about/images/April/abc.jpg

我应该得到它:

四月/ abc.jpg的

$(document).ready(function(){
  $('#getData').click(function(){
    imgPath = $('#imgPath').val();

    console.log($(imgPath).split('/'));

    //console.log(slicedPath);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
Image path: <input type="text" id="imgPath">
<button id="getData">Click</button>

3 个答案:

答案 0 :(得分:2)

使用split时,会将数据拆分为array。然后,您可以使用array[number]来获取特定值。

&#13;
&#13;
$(document).ready(function(){
  $('#getData').click(function(){
    imgPath = $('#imgPath').val();
    var s = imgPath.split('/');
    var l = s.length - 1;
    console.log(s[(l - 1)] + "/" + s[l]);

    //console.log(slicedPath);
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
Image path: <input type="text" id="imgPath">
<button id="getData">Click</button>
&#13;
&#13;
&#13;

答案 1 :(得分:2)

您可以使用pop来获取分割后的最后一个值,

str = '/content/mypath/myfolder/about/images/April/abc.jpg';
var a = str.split('/');
second = a.pop();
first = a.pop();
url = first+"/"+second;
console.log(url);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

编辑:

您可以采用更优化的方式,

str = '/content/mypath/myfolder/about/images/April/abc.jpg';
    var a = str.split('/');
    arr = [];
    arr.push(a.pop(),a.pop());
    str = arr.reverse().join("/");
    console.log(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  

优势:

通过这种方式,您可以从url的最后一侧获得两个以上(如果需要),因此可以灵活地实现两个以上的部分。

我希望这会有所帮助。

答案 2 :(得分:1)

split()返回一个数组。拆分后,你可以得到这样的任何部分:

$(document).ready(function(){
  $('#getData').click(function(){
    var imgPath = $('#imgPath').val();

    var split = imgPath.split('/');
    
    var desiredPath = split[split.length-2] + "/" + split[split.length-1];
    
    console.log(desiredPath);
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.0/jquery.min.js"></script>
Image path: <input type="text" id="imgPath">
<button id="getData">Click</button>