2013-09-03 8 views
0

파일 확장명 만 사용되지만 파일 이름에 마침표가 있거나 확장명이없는 경우 정규식을 사용할 수 없는지 확인하려고합니다. 이것에 대한 도움을 주시면 감사하겠습니다. 감사!업로드하기 전에 파일 이름 확장명을 검사하는 Regex

현재 코드 : 당신이 정규식에 따라하지 않을 경우

// this looks at what file type was attemped and validates it 
$('INPUT[type="file"]').change(function() { 
    var ext = this.value.match(/\.(.+)$/)[1]; 
    switch (ext) { 
     case 'bmp': 
     case 'doc': 
     case 'xls': 
      $('#publicSubmit').attr('disabled', false); 
      break; 
     default: 
      alert('This is and invalid file extension. Vaild extension(s): bmp, doc, xls'); 
      //$('#publicSubmit').attr('disabled', true); 
      this.value = ''; 
    } 
}); 
+0

'\. ([^.] +) $ /'를 사용하여 이름에 마침표가있는 파일을 처리하십시오. –

+0

파일 입력 값을 변경할 수 있다고 생각하지 않습니다. – Musa

답변

3

, 당신은 간단하게 사용할 수 있습니다

var ext = value.split('.').slice(-1)[0]; 

는 파일 확장자를 얻을 수 있습니다.

+0

'value.length-1' - 확실합니까? – zerkms

+0

힌트를 보내 주심에 감사드립니다. –

+1

'.slice (-1)'은 배열을 반환하므로'[0]'이 (가) 필요합니다 – zerkms

관련 문제