как проверить filename и fileextension в javascript

#javascript #arrays #reactjs

#javascript #массивы #reactjs

Вопрос:

Я попытался загрузить файл json с именем file name contains report .

если имя файла имеет report , staticreport ,dynamic_report, оно должно быть проверено. другое имя файла должно выдавать сообщение об ошибке. Файл должен быть .json

 report.json  ===> pass
staticreport.json===> pass
dynamic_report.json===> pass

report.doc  ===> fail
staticreport.xsl===> fail
dynamic_re5port.json===> fail
  

как достичь с помощью javascript

html-код

  <input accept=".json" id="contained-button-file" multiple type="file"  onChange={ (e) => handleFile(e.target.files) } /> 
  

Javascipt код

 const handleFile = (selectorFiles: FileList) => {   
var file1 = selectorFiles[0].name.split('.').pop(); 
if( file1 ==='json') {
//([a-zA-Z0-9s_\.-():]) (.json)$   
}
}  
  

Комментарии:

1. Чтобы было ясно, ваш вопрос: «Как я могу проверить filename и расширение файла в Javascript?», верно? И ваш список допустимых имен report.json файлов, staticreport.json , и dynamic_report.json , правильный? Если это так, вы должны иметь возможность быстро проверить полное имя файла (включая расширение), выполнив проверку на равенство.

Ответ №1:

Я бы, вероятно, использовал регулярное выражение, чтобы проверить, заканчивается ли имя на .json .

 var test = new RegExp('\.json$');
var file = 'hello.json';
if (file.match(test)) {
    console.log('Yay!');
}
  

Ответ №2:

Попробуйте следующий способ

HTML-код

 <!-- File input field -->
<input type="file" id="file" onchange="return fileValidation()"/>
  

Javascript

 function fileValidation(){
    var fileInput = document.getElementById('file');
    var filePath = fileInput.value;
    var allowedExtensions = /(.json)$/i;
    if(!allowedExtensions.exec(filePath)){
        alert('Please upload file having extensions .json only.');
        fileInput.value = '';
        return false;
    }else{
       // perform your actions
        }
    }
}
  

для более подробного просмотра здесь

Комментарии:

1. как проверить, состоит ли имя файла из определенного слова

Ответ №3:

Проверка типа файла. После проверки файла json. проверенное имя файла состоит из ‘report’

  var allowedExtensions = /(.json)$/i;

if (allowedExtensions.exec(selectorFiles[0].name) ) 
{
    if (selectorFiles[0].name.includes('report') ) {
        // code here
    }
}