2013-04-09 3 views
6

HTML 입력 파일에서 파일 이름 만 반환해야합니다. 파이어 폭스에서Internet Explorer의 파일 입력에서 파일 이름 만 가져 오기

document.getElementById("whatever").value; 

그것이 내가 원하는 어떤 파일 이름 만 제공하지만, IE에서 나는 전체 경로를 얻을 : 파일의 이름을 얻기 위해 사용

<input type="file" id="whatever" /> 

자바 스크립트 코드 메신저

입니다 .

문자열 조작 만이 이름을 얻는 유일한 방법이라고 생각합니다.

자바 스크립트에서 이름 (확장자도) 만 가져 오는 가장 쉬운 방법은 무엇입니까? 감사.

답변

17

의 바이올린입니다이

var path = document.getElementById("whatever").value; 
var fileName = path.match(/[^\/\\]+$/); 
console.log(fileName); 
+0

완벽하다. 나는 그것보다 짧을 수 없다고 생각한다. – user937450

+2

나는'path.match (/ [^ \/\\\ * $ /) [0]'을 사용하고 있습니다. 1 - 일치 결과가 '문자열'이 아닙니다. 2 - 'path ==' ''; –

2

이 작품이 좋겠습니다. 여기

var fullFileName = document.getElementById("whatever").value; 
var fileName = fullFileName.substr(fullFileName.lastIndexOf("\\")+1, fullFileName.length); 

당신은 시도 할 수 Fiddle

+0

아픈하지만 그 바용, 여기에 그것을 시도하고 당신에게 – user937450

+0

예 작동 결과를 알려 "\" – user937450

0
var path = document.getElementById("whatever").value; 
var filename = path.substring(path.lastIndexOf("/") + 1); 

이 마지막 / 후 당신에게 모든 것을 줄뿐만 아니라의 부족과 호환됩니다 / s. 경우 당신은 또한 사랑스러운 경로 구분자로 \ 다룰 필요가, 당신은 항상이 먼저 사용할 수 있습니다

path.replace(/\\/g, "/") 
관련 문제