2014-12-17 2 views
0

Я получаю имя файла, который включает в себя тип от входа HTML,Javascript получить тип файла работает, только если файл имеет 1 точку в имени

var file = jQuery('#attachment')[0].files[0]; 
var fileType = file.name.substr(file.name.indexOf(".") + 1); 

и это отлично работает, если имя файла FILE.TYPE но если имя файла if FIlE.Name.TYPE не работает правильно.

Как я могу получить последнюю точку перед типом файла? Или есть лучший способ получить тип файла?

+3

Используйте '.lastIndexOf ('.')'. –

+0

Работал отлично! Если вы ответите, я приму это. –

ответ

1

indexOf всегда идет слева направо и получить первый матч. К счастью, существует противоположный метод, который идет справа налево. Этот метод называется .lastIndexOf().

var fileType = file.name.substr(file.name.lastIndexOf(".") + 1); 
1

Попробуйте это:

var fileType = file.name.split(".").reverse()[0]; 

Это будет работать для любого числа символов .

+1

Я думаю, что использование 'pop' здесь лучше:' file.name.split ("."). Pop() ' –