Как получить расширение изображения в угловых? - PullRequest
0 голосов
/ 22 декабря 2018

Здесь я проверяю расширение изображения, используя приведенный ниже код.imageName.split(".").pop() с использованием split and pop Я получил расширение изображения, но после этого я должен проверить, соответствует ли это расширение этому, для этого мне нужно проверить с помощью множественного числа или условия, так что это сделать процесс кода медленным, так что есть ли возможностьуменьшите код и уменьшите условия ИЛИ.

Пример.Если расширение jpEg в это время только с одним условием (extn == jpeg), отметьте все типы маленькими, расширение заглавными ('jpeg','Jpeg','jPeg','jpEg','jpeG','JPeg','JpEg','JpeG','jPEg','jPeG','jpEG','jPEG','JPeG','JPEg','JpEG','JPEG') и создайте меньше или условия

previewFiles(imageName){
 console.log(imagename);  // 125.jpEg

 var extn = imageName.split(".").pop();

   console.log(extn);  // jpEg

  if((extn == 'pdf') || (extn == 'PDF') || (extn == 'pdF') || (extn == 'pDf') ||
     (extn == 'pDF') || (extn == 'PDf') || (extn == 'PdF') || (extn == 'Pdf') ||
     (extn == 'jpg') || (extn == 'JPG') || (extn == 'jpG') || (extn == 'jPg') ||
     (extn == 'jPG') || (extn == 'JPg') || (extn == 'JpG') || (extn == 'Jpg') ||
     (extn == 'gif') || (extn == 'GIF') || (extn == 'giF') || (extn == 'gIf') ||
     (extn == 'gIF') || (extn == 'GIf') || (extn == 'GiF') || (extn == 'Gif') ||
     (extn == 'png') || (extn == 'PNG') || (extn == 'pnG') || (extn == 'pNg') ||
     (extn == 'pNG') || (extn == 'PNg') || (extn == 'PnG') || (extn == 'Png') ||
     (extn == 'tif') || (extn == 'TIF') || (extn == 'tiF') || (extn == 'tIf') ||
     (extn == 'tIF') || (extn == 'TIf') || (extn == 'TiF') || (extn == 'Tif') ||
     (extn == 'jpeg') || (extn == 'Jpeg') || (extn == 'jPeg') || (extn == 'jpEg') ||
     (extn == 'jpeG') || (extn == 'JPeg') || (extn == 'JpEg') || (extn == 'JpeG') ||
     (extn == 'jPEg') || (extn == 'jPeG' ) || (extn == 'jpEG' ) || (extn == 'jPEG' ) ||
     (extn == 'JPeG' ) || (extn == 'JPEg') || (extn == 'JpEG') || (extn == 'JPEG') ||
     (extn == 'tiff') || (extn == 'Tiff' ) || (extn == 'tIff') || (extn == 'tiFf' ) ||
    (extn == 'tifF') || (extn == 'TIff') || (extn == 'TiFf') || (extn == 'TifF') ||
     (extn == 'tIFf') || (extn == 'tIfF') || (extn == 'tiFF') || (extn == 'tIFF') ||
     (extn == 'TIfF') || (extn == 'TIFf') || (extn == 'TiFF') || (extn == 'TIFF')){
      console.log("extension of image is matched");    
   }else{
      console.log("extension of image is not matched");
   }
}

Ответы [ 2 ]

0 голосов
/ 22 декабря 2018

Вы можете использовать регулярное выражение, используя чередование, и /i для сравнения без учета регистра или сравнения строк, используя toLowerCase :

let extn = "TIFf";
const regex = /(?:pdf|jpeg|jpg|tiff?|gif|png)/i;
if (regex.test(extn)) {
  console.log(extn);
}

let valid = [
  "pdf", "tif", "tiff", "jpg", "jpeg", "gif", "png"
];

if (valid.includes(extn.toLowerCase())) {
  console.log(extn);
}
0 голосов
/ 22 декабря 2018

Вы можете просто вызвать extn.toLowerCase() для строки, имеющей каждое JpEg, jpEg в нижнем регистре jpeg.

То, что вы также можете сделать, это иметь доступные расширения в другой переменной и проверитьрасширение, если оно совпадает с любым из массива

const availableExtensions = new Set(['jpeg', 'tiff', 'gif'])

if(availableExtensions.has(extn.toLowerCase())) {
    console.log("extension of image is matched")
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...