В TypeScript существуют различные способы определить, является ли данная строка строкой в кодировке Base64 или путем к файлу. В этой статье мы рассмотрим несколько методов вместе с примерами кода для выполнения этой задачи. Понимая эти методы, вы будете готовы справляться со сценариями, в которых вам необходимо различать строки Base64 и пути к файлам в ваших проектах TypeScript.
Методы проверки того, является ли строка Base64 или путем к файлу:
- Метод регулярного выражения.
Мы можем использовать регулярные выражения, чтобы проверить, соответствует ли строка шаблону строки в кодировке 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
- Метод типа 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
- Метод расширения файлов:
Пути к файлам можно определить по их расширению. Мы можем извлечь расширение файла из строки и проверить, соответствует ли оно известному списку расширений файлов.
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 повысит вашу способность эффективно обрабатывать различные форматы данных.