2014-02-15 3 views
1

파일 업로드 옵션이있는 HTML 양식을 사용하여 특정 파일 확장명 만 허용하기 위해 클라이언트 측에서 파일 형식을 빠르게 검증합니다.여러 개의 IF 문 대신 사용

다음 코드 단편은 나에게 잘 작동하지만, 더 빠르고 더 좋은 방법이 있는지 궁금합니다. 향후 허용 될 확장자가 더있는 경우.

참고 : 이것은 파일 확장자를 검사하기위한 다중 OR 문이있는 부분에 관한 것입니다. 지금까지 (작업)

내 코드 : 여기에 대한 제안, 팀에 대한

if(((fileNameShort.length <= 100) && (fileNameShort.indexOf('#') == -1)) && ((fileFormat == 'bmp') || (fileFormat == 'doc') || (fileFormat == 'docx') || (fileFormat == 'gif') || (fileFormat == 'jpeg') || (fileFormat == 'jpg') || (fileFormat == 'msg') || (fileFormat == 'png') || (fileFormat == 'pdf'))) 

많은 감사합니다.

답변

5

또한 당신이 너무 괄호 수 방법을 사용하는 소문자 파일 형식

var arr=['bmp','doc','docx','gif','jpg','msg']; //create array filetypes 

if(fileNameShort.length <= 100 && fileNameShort.indexOf('#') === -1 && arr.indexOf(fileFormat.toLowerCase()) !== -1) 
+1

에 해당합니다. 일단 이용이 가능하면 받아 들일 것입니다. – user2571510

+0

@ user2571510 환영합니다. 도움이되었습니다. :) –

3

검사로 .toLowerCase()을 사용하여 사용 .indexOf(). 덕분에 빠른 회신을 많이 -

if ( 
    ( 
    (fileNameShort.length <= 100) 
    && (fileNameShort.indexOf('#') == -1) 
) 
    && 
    ( 
    (fileFormat == 'bmp') || (fileFormat == 'doc') || (fileFormat == 'docx') || (fileFormat == 'gif') || (fileFormat == 'jpeg') || (fileFormat == 'jpg') || (fileFormat == 'msg') || (fileFormat == 'png') || (fileFormat == 'pdf') 
) 
) 

if ( 
    fileNameShort.length <= 100 
    && fileNameShort.indexOf('#') == -1 
    && ( 
    fileFormat == 'bmp' || fileFormat == 'doc' || fileFormat == 'docx' || fileFormat == 'gif' || fileFormat == 'jpeg' || fileFormat == 'jpg' || fileFormat == 'msg' || fileFormat == 'png' || fileFormat == 'pdf' 
) 
) 

에 해당하는 것은이 완벽

if ( 
    fileNameShort.length <= 100 
    && fileNameShort.indexOf('#') == -1 
    && /^(bmp|docx?|gif|jpe?g|msg|png|pdf)$/i.test(fileFormat) 
) 
+0

감사합니다.이 역시 매우 유용합니다! – user2571510