javascript

code Python verified Free Download devices Cross-platform

code Code Preview

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 About This Tool

The Email Extractor for Node.js is a pure JavaScript implementation for extracting email addresses. Perfect for JavaScript developers who want to stay in their ecosystem without Python dependencies.

Key Features

  • Node.js Native - Pure JavaScript, no Python required
  • Async/Await - Modern ES6+ syntax with non-blocking I/O
  • Stream Processing - Handle large files efficiently
  • JSON Parsing - Extract emails from API responses
  • CLI Interface - Easy integration with npm scripts
  • Zero Dependencies - Uses only Node.js built-in modules

Supported Formats

  • Plain text files (.txt, .log)
  • JSON files and API responses
  • JavaScript source files (.js, .jsx, .ts, .tsx)
  • Any UTF-8 text format

Requirements

  • Node.js 14+ (LTS recommended)
  • No npm packages required

Note: This script is for Node.js (backend). For browser usage, modifications to use File API would be needed.

download Download Script

Need Full Automation?

Try Postigo for automated email campaigns with AI personalization

rocket_launch Start Free Trial