zukucode
主にWEB関連の情報を技術メモとして発信しています。

JavaScript input type=fileの拡張子を判定する

input type="file"で選択したファイルの拡張子を取得して、指定した拡張子でない場合はアップロードできないようにしたい場合があります。

以下のように、選択したファイルパスの末尾を正規表現でチェックします。

拡張子の大文字、小文字を区別せずに判定するため、toUpperCaseで大文字に変換してからチェックをしています。

CSVの部分をチェックしたい大文字の拡張子に変更すれば任意の拡張子をチェックできます。

<input type="file" id="file1" />
if (!document.getElementById('file1').value.toUpperCase().match(/\.(CSV)$/i)) {
  console.log('CSVファイルの形式(拡張子)が違います。');
}

関連記事