2015-03-31 44 views
0

我正在使用<input type="file" id="myfile">并且上面有文件格式。JQuery传递第一个“。”字符的文件名并返回文件名称值

例如mytestfile1.imagefile.jpgmytestfile2.documentfile.docx

什么,我试图做的是获取文件的名称,例如:

mytestfile1.imagefilemytestfile2.documentfile

现在我的代码是这样的:

alert($('#myfile').val().split('.').shift());

但我只有mytestfile1mytestfile2

回答

1

shift()将刚刚返回数组的第一个元素,但你要第一个元素。使用slice()可以获取多个元素。

alert($('#myfile').val().split('.').slice(0, 2).join('.')); 

如果你想允许前后缀任意数量的文件名的组件,你可以使用一个负最终指数随slice()

alert($('#myfile').val().split('.').slice(0, -1).join('.')); 
0

您可以使用String.lastIndexOf()来获取'。'的最后一个实例,然后使用子字符串获取相关部分。例如:

function ext(s){ 
    return s.substring(0,s.lastIndexOf('.')); 
} 
console.log(ext("helloworld.foo.bar.txt")); 

将返回helloworld.foo.bar

相关问题