我正在使用<input type="file" id="myfile">
并且上面有文件格式。
例如mytestfile1.imagefile.jpg
或mytestfile2.documentfile.docx
我要做的是获取文件示例的名称:
mytestfile1.imagefile
或mytestfile2.documentfile
现在我的代码是这样的:
alert($('#myfile').val().split('.').shift());
但我只有mytestfile1
或mytestfile2
答案 0 :(得分:1)
shift()
将返回数组的第一个元素,但您需要第一个两个元素。使用slice()
获取多个元素。
alert($('#myfile').val().split('.').slice(0, 2).join('.'));
如果要在后缀之前允许任意数量的文件名组件,可以使用带有slice()
的负结束索引:
alert($('#myfile').val().split('.').slice(0, -1).join('.'));
答案 1 :(得分:0)
您可以使用String.lastIndexOf()来获取&#39;。&#39;的最后一个实例,然后使用substring来获取相关部分。例如:
function ext(s){
return s.substring(0,s.lastIndexOf('.'));
}
console.log(ext("helloworld.foo.bar.txt"));
会返回helloworld.foo.bar