Dino Geek, probeer je te helpen

Hoe valideer ik een e-mailadres in PHP?


In PHP kun je een e-mailadres valideren met behulp van verschillende methoden, waaronder ingebouwde functies en reguliere expressies. Hier zijn enkele van de meest effectieve methoden om te gebruiken:

  1. Methode 1: `filter_var` Functie

De meest eenvoudige manier om een e-mailadres te valideren in PHP is door gebruik te maken van de ingebouwde `filter_var` functie. Deze functie controleert of een variabele voldoet aan een specifiek filter. In dit geval gebruiken we de `FILTER_VALIDATE_EMAIL` filter.

```
$email = “voorbeeld@domein.com”;
if (filter_var($email, FILTER_VALIDATE_EMAIL)) { echo “Het e-mailadres is geldig.”;
} else { echo “Het e-mailadres is ongeldig.”;
}
```

Deze methode is betrouwbaar en voldoet aan de algemene standaarden voor e-mailvalidatie. De `filter_var` functie maakt gebruik van een intern algoritme dat algemeen geaccepteerde regels voor e-mailvalidatie volgt.

Bron: [PHP Documentation – filter\_var](https://www.php.net/manual/en/function.filter-var.php)

  1. Methode 2: Reguliere Expressies

Voor meer controle over de validatie of om specifieke validatiecriteria te hanteren, kun je reguliere expressies (regex) gebruiken. Een voorbeeld van zo’n regex is:

```
$email = “voorbeeld@domein.com”;
$pattern = “/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/”;

if (preg_match($pattern, $email)) { echo “Het e-mailadres is geldig.”;
} else { echo “Het e-mailadres is ongeldig.”;
}
```

Deze regex controleert op de volgende criteria:
- Het lokale deel (voor de “@”) kan letters, cijfers en bepaalde speciale tekens bevatten.
- Het domein moet letters en cijfers bevatten, en mag punten hebben.
- Het topleveldomein moet uit minstens twee letters bestaan.

Bron: [Regular Expressions – rfc2822](https://tools.ietf.org/html/rfc2822)

  1. Methode 3: DNS Record Controle

Om te controleren of het domein van het e-mailadres daadwerkelijk bestaat, kun je een DNS record check uitvoeren. Dit wordt vaak gebruikt als de laatste stap van de validatie om te verzekeren dat niet alleen de syntaxis correct is, maar dat het e-maildomein ook echt bestaat.

```
$email = “voorbeeld@domein.com”;
list($user, $domain) = explode(‘@’, $email);
if (checkdnsrr($domain, ‘MX’)) { echo “Het e-mailadres domein bestaat.”;
} else { echo “Het e-mailadres domein bestaat niet.”;
}
```

De functie `checkdnsrr` controleert of het domein een MX (Mail Exchange) record heeft, wat een goede indicatie is dat het domein kan ontvangen.

Bron: [PHP Documentation – checkdnsrr](https://www.php.net/manual/en/function.checkdnsrr.php)

  1. Voorbeeld Implementatie

Hier is een voorbeeld dat alle drie de methoden combineert voor een robuuste e-mailvalidatie:

```
$email = “voorbeeld@domein.com”;

if (filter_var($email, FILTER_VALIDATE_EMAIL)) { list($user, $domain) = explode(‘@’, $email);

if (checkdnsrr($domain, ‘MX’)) { echo “Het e-mailadres is geldig en het domein bestaat.”; } else { echo “Het e-mailadres is geldig, maar het domein bestaat niet.”; } } else { echo “Het e-mailadres is ongeldig.”; } ```

Deze aanpak zorgt ervoor dat niet alleen de syntaxis van het e-mailadres correct is, maar dat het domein ook daadwerkelijk bestaat.

Door bovenstaande methoden te volgen, kun je op een efficiënte en betrouwbare manier e-mailadressen valideren in PHP. Elk van de methoden heeft zijn eigen voordeel en toepassing, afhankelijk van de specifieke behoeften van je project.


Genereer eenvoudig artikelen om uw SEO te optimaliseren
Genereer eenvoudig artikelen om uw SEO te optimaliseren





DinoGeek biedt eenvoudige artikelen over complexe technologieën

Wilt u in dit artikel worden geciteerd? Het is heel eenvoudig, neem contact met ons op via dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Domeinnaam | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Juridische Vermelding / Algemene Gebruiksvoorwaarden