<?php function isValidEmail($email) // Basic validation using filter_var if (filter_var($email, FILTER_VALIDATE_EMAIL)) return true; return false;
// Usage examples $testEmails = [ 'user@example.com', 'invalid-email', 'user@gmail.com', 'user@mailinator.com' ];
?> <?php function validateEmailAdvanced($email) // 1. Check format if (!filter_var($email, FILTER_VALIDATE_EMAIL)) return false; // 2. Extract domain $domain = substr(strrchr($email, "@"), 1); check email valid php
$domain = substr(strrchr($email, "@"), 1); if (!checkdnsrr($domain, 'MX') && !checkdnsrr($domain, 'A')) echo json_encode(['valid' => false, 'message' => 'Domain does not exist']); exit;
?> <?php // handle-form.php $email = $_POST['email'] ?? ''; $error = ''; $success = ''; if ($_SERVER['REQUEST_METHOD'] === 'POST') $email = trim($email); ''; $error = ''; $success = ''; if
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) echo json_encode(['valid' => false, 'message' => 'Invalid email format']); exit;
foreach ($testEmails as $email) $result = EmailValidator::validate($email, true, true); if ($result['valid']) echo "✓ $email is valid\n"; else echo "✗ $email is invalid: $result['error']\n"; $error = ''
// Remove common typos and sanitize public static function sanitize($email) $email = trim($email); $email = filter_var($email, FILTER_SANITIZE_EMAIL); return $email;