Комплексные методы проверки того, является ли строка Base64 или путем к файлу в TypeScript

В TypeScript существуют различные способы определить, является ли данная строка строкой в ​​кодировке Base64 или путем к файлу. В этой статье мы рассмотрим несколько методов вместе с примерами кода для выполнения этой задачи. Понимая эти методы, вы будете готовы справляться со сценариями, в которых вам необходимо различать строки Base64 и пути к файлам в ваших проектах TypeScript.

Методы проверки того, является ли строка Base64 или путем к файлу:

  1. Метод регулярного выражения.
    Мы можем использовать регулярные выражения, чтобы проверить, соответствует ли строка шаблону строки в кодировке Base64 или пути к файлу.
// Check if a string is Base64-encoded
function isBase64(input: string): boolean {
  const base64Regex = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;
  return base64Regex.test(input);
}
// Check if a string is a file path
function isFilePath(input: string): boolean {
  const filePathRegex = /[\\/]/; // Modify the regex as per your specific file path format
  return filePathRegex.test(input);
}
// Usage
const inputString = "SGVsbG8gd29ybGQ="; // Base64-encoded string
const inputPath = "/path/to/src/file.txt"; // File path
console.log(isBase64(inputString)); // Output: true
console.log(isFilePath(inputPath)); // Output: true
  1. Метод типа MIME.
    Строки в кодировке Base64 часто представляют двоичные данные, например изображения или документы. Мы можем использовать функцию atob()и проверить, имеют ли полученные данные действительный тип MIME.
function isBase64(input: string): boolean {
  try {
    const decodedData = atob(input);
    const mimeRegex = /^data:(.*?);/;
    const mimeResult = mimeRegex.exec(decodedData);
    return mimeResult !== null && mimeResult.length > 1;
  } catch (error) {
    return false;
  }
}
// Usage
const inputString = "SGVsbG8gd29ybGQ="; // Base64-encoded string
console.log(isBase64(inputString)); // Output: true
  1. Метод расширения файлов:
    Пути к файлам можно определить по их расширению. Мы можем извлечь расширение файла из строки и проверить, соответствует ли оно известному списку расширений файлов.
function isFilePath(input: string): boolean {
  const validExtensions = [".txt", ".jpg", ".png"]; // Add more extensions as needed
  const fileExtension = input.substr(input.lastIndexOf(".")).toLowerCase();
  return validExtensions.includes(fileExtension);
}
// Usage
const inputPath = "/path/to/src/file.txt"; // File path
console.log(isFilePath(inputPath)); // Output: true

В этой статье мы рассмотрели несколько методов проверки того, является ли строка строкой в ​​кодировке Base64 или путем к файлу в TypeScript. Используя регулярные выражения, типы MIME и расширения файлов, вы можете точно различать эти два типа строк. Включение этих методов в ваши проекты TypeScript повысит вашу способность эффективно обрабатывать различные форматы данных.