javascript
code
Python
verified
Бесплатная загрузка
devices
Кроссплатформенный
code Предпросмотр кода
Python#!/usr/bin/env node
/**
* Email Extractor for Node.js
* Extract and validate email addresses using JavaScript
*/
const fs = require('fs').promises;
const readline = require('readline');
const EMAIL_REGEX = /\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b/g;
async function extractEmailsFromFile(filePath) {
const emails = new Set();
const fileStream = require('fs').createReadStream(filePath);
const rl = readline.createInterface({
input: fileStream,
crlfDelay: Infinity
});
for await (const line of rl) {
const found = line.match(EMAIL_REGEX);
if (found) {
found.forEach(email => emails.add(email.toLowerCase()));
}
}
return Array.from(emails).sort();
}
async function extractFromJSON(filePath) {
const content = await fs.readFile(filePath, 'utf8');
const data = JSON.parse(content);
const emails = new Set();
function findEmails(obj) {
if (typeof obj === 'string') {
const found = obj.match(EMAIL_REGEX);
if (found) found.forEach(e => emails.add(e.toLowerCase()));
} else if (Array.isArray(obj)) {
obj.forEach(findEmails);
} else if (obj && typeof obj === 'object') {
Object.values(obj).forEach(findEmails);
}
}
findEmails(data);
return Array.from(emails).sort();
}
if (require.main === module) {
const args = process.argv.slice(2);
extractEmailsFromFile(args[0]).then(emails => {
console.log(`Found ${emails.length} unique emails`);
});
}
info Об инструменте
Экстрактор email для Node.js - это чистая JavaScript-реализация для извлечения email-адресов. Идеально подходит для JavaScript-разработчиков, которые хотят оставаться в своей экосистеме без зависимостей от Python.
Ключевые особенности
- Нативный Node.js - Чистый JavaScript, Python не требуется
- Async/Await - Современный синтаксис ES6+ с неблокирующим I/O
- Потоковая обработка - Эффективная обработка больших файлов
- Парсинг JSON - Извлечение email из ответов API
- CLI-интерфейс - Простая интеграция с npm-скриптами
- Без зависимостей - Использует только встроенные модули Node.js
Поддерживаемые форматы
- Простые текстовые файлы (.txt, .log)
- JSON-файлы и ответы API
- Исходные файлы JavaScript (.js, .jsx, .ts, .tsx)
- Любой текстовый формат UTF-8
Требования
- Node.js 14+ (LTS recommended)
- Пакеты npm не требуются
Примечание: Этот скрипт для Node.js (backend). Для использования в браузере потребуются модификации для работы с File API.
download Скачать скрипт
Нужна полная автоматизация?
Попробуйте Postigo для автоматизированных email-кампаний с AI-персонализацией
rocket_launch Start Free Trial