[jQuery] 파일 확장자 체크하기
특정 파일만 받고자 할때 체크하는 방법입니다.
확장자로 체크하는데 더 좋은것은 MIME로 체크하면 더 좋습니다.
확장자는 얼마든지 변경할 수 있고 더 문제는 아무렇게나 확장자를 변경하는 경우도 있습니다.
<script>
$("#images").on("change", function(e)
{
var files = e.target.files;
var filesArr = Array.prototype.slice.call(files);
filesArr.forEach(function(f)
{
/*
lastModified: 12345657890234
lastModifiedDate: Tue Oct 21 2021 16:12:23 GMT+0900 (한국 표준시) {}
name: "a123.jpg"
size: 12345
type: "image/jpeg"
webkitRelativePath: ""
*/
let pp = f.name.lastIndexOf('.');
let fext = f.name.substring(pp+1,f.name.length);
fext = fext.toLowerCase();
if( fext == 'jpg' || fext == 'gif' || fext=='png' ) {
alert('ok');
}
else {
alert('허용되지 아니한 이미지 포맷');
}
});
});
</script>
<script>
$("#images").on("change", function(e)
{
var files = e.target.files;
var filesArr = Array.prototype.slice.call(files);
filesArr.forEach(function(f)
{
/*
lastModified: 12345657890234
lastModifiedDate: Tue Oct 21 2021 16:12:23 GMT+0900 (한국 표준시) {}
name: "a123.jpg"
size: 1234
type: "image/jpeg"
webkitRelativePath: ""
*/
if ( !f.name.toLowerCase().match(/\.(gif|jpe?g|jpeg|png)$/i) )
{
alert( "파일은 jpg, png, gif 만 올려주세요.");
is_file_ext_check = false;
return;
}
});
});
</script>
mime 값으로 체크하는 방법은 위 주석에 보면 type 값이 있는데 이것을 기반으로 체크를 하면 더 완벽합니다.