Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在jQuery中拆分URL路径并获取其一部分_Javascript_Jquery_Arrays_Url_Split - Fatal编程技术网

Javascript 在jQuery中拆分URL路径并获取其一部分

Javascript 在jQuery中拆分URL路径并获取其一部分,javascript,jquery,arrays,url,split,Javascript,Jquery,Arrays,Url,Split,我需要分割用户输入的路径,并只获取其中的某些部分。 例如,如果用户输入路径为: /content/mypath/myfolder/about/images/abc.jpg 然后我只想显示图像/abc.jpg 我要走了 未捕获错误:语法错误,无法识别的表达式 目前的错误 这是我的密码 $(文档).ready(函数(){ $('#getData')。单击(函数(){ imgPath=$('#imgPath').val(); log($(imgPath).split('/'); //console

我需要分割用户输入的路径,并只获取其中的某些部分。 例如,如果用户输入路径为:

/content/mypath/myfolder/about/images/abc.jpg
然后我只想显示
图像/abc.jpg

我要走了

未捕获错误:语法错误,无法识别的表达式

目前的错误

这是我的密码

$(文档).ready(函数(){
$('#getData')。单击(函数(){
imgPath=$('#imgPath').val();
log($(imgPath).split('/');
//console.log(slicedPath);
});
});

图像路径:
单击
$(imgPath)
将尝试找到
imgPath
所在的元素。由于用户输入的路径不是正确的选择器,它将抛出错误。 例如,如果用户输入的
/content/mypath/myfolder/about/images/abc.jpg
选择器将是
$('/content/mypath/myfolder/about/images/abc.jpg')
,这不是有效的express,因此会出现错误

您可以使用RegEx获取图像路径

imgPath.match(/images\/.*$/i)[0]
正则表达式将匹配
图像/
,后跟任意数量的字符
match
返回一个数组,因此使用
[0]
将获得图像路径

$(文档).ready(函数(){
$('#getData')。单击(函数(){
var imgPath=$('#imgPath').val();
log(imgPath.match(/images\/.*$/i)[0]);
});
});

图像路径:

单击
您应该使用
console.log(imgPath.split(“/”)而不是
console.log($(imgPath.split(“/”)


这里,
imgPath
只是一个存储输入值的变量,而不是用作
$(imgPath)

的dom元素

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

 var theArray = imgPath.split('/');  // split path into parts

 // take the last two indexes to form short path
 var shortPath = theArray[theArray.length - 2] + '/' + 
                 theArray[theArray.length - 1];


      });
});

.val()
返回字符串,而不是DOM元素。要求jQuery包装它是行不通的。只需使用
imgPath.split('/')
获取最后一部分的标准是什么?您是在寻找某个单词(即“图像”),还是在寻找一个文件和直接的父对象?最后一部分应该只是一个图像名称,后跟图像扩展名。或者更简洁地说:
theArray.split(-2).join('/')