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ファイルの形式(拡張子)が違います。');
}