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.

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==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.

})();