Email Address Extractor (Alert on Success)

Scans the entire current webpage for unique email addresses ([email protected]) and displays them in a simple alert box if any are found. The script remains completely silent if no emails are detected.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name         Email Address Extractor (Alert on Success)
// @namespace    http://tampermonkey.net/
// @version      1.3
// @description  Scans the entire current webpage for unique email addresses ([email protected]) and displays them in a simple alert box if any are found. The script remains completely silent if no emails are detected.
// @author       Gemini
// @match        *://*/*
// @grant        window.alert
// @run-at       document-idle
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';

    // A simple, un-minified Regular Expression pattern to match most common email formats.
    const emailRegex = /([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi;

    // Get the visible text content from the body of the page.
    const pageText = document.body.innerText;

    // Execute the search for email matches.
    const emails = pageText.match(emailRegex);

    // Check if matches were found AND the array is not empty.
    if (emails && emails.length > 0) {
        
        // 1. Remove duplicates by converting the array to a Set and back to an array.
        const uniqueEmails = [...new Set(emails)];

        // 2. Format the output string for the alert box.
        const result = `--- Email Extraction Complete ---\n\n` +
                       `Found ${uniqueEmails.length} unique email(s) on this page:\n\n` +
                       uniqueEmails.join('\n');

        // 3. Display the results.
        window.alert(result);
    }
    // Per the user request, the script is silent if no emails are found.

})();