Mai 30

PHP Email Adresse auf Gültigkeit überprüfen

Tag: PHP Tipps und TricksLeichti @ 2:34 pm

In Eingabefeldern für Emailadressen ist es nötig die Email Adresse auf Gültigkeit zu überprüfen. Dies ist ganz einfach mit Hilfe von Regulären Ausdrücken (Wenn dir RegEx nichts sagt). Dieses Tutorial soll euch helfen eine Email Adresse mittels PHP auf Gültigkeit überprüfen zu können.

Funktion schreiben um Email Adresse zu Überprüfen

Zuerst einmal zeige ich euch einfach den Code für die Funktion welche überprüft ob die Variable eine gültige Email Adresse ist.

 
function mail_pruefen($adresse) {
	if(empty($adresse)) // Wenn leer
		return false; // Funktion beenden
 
	/* Überprüfen */
	$regex = '§[\w-.]{1,}@[\w-]{3,}\.[\w-]{2,3}§';
	preg_match($regex, $adresse, $matches);
 
	if(empty($matches)) // Wenn keine Email
		return false; // Funktion beenden
	if(strlen($matches[0])!=strlen($adresse))
		return false; // Funktion beenden
 
	return($matches[0]);
	}
$mailcheck = mail_pruefen($_POST["email"]);
 

So, was passiert hier nun? Die Variable $regex enthält unseren Regulären Ausdruck und überprüft mit Hilfe von preg_match() ob die Variable $adresse eine gültige Email Adresse enthält. $matches ist ist ein Array in das die gültige Email Adresse dann gespeichert wird. Deshalb greifen wir auch auf den ersten (und in den meisten Fällen einzigen Wert) mittels $matches[0] zu. Nun geben wir mit return noch den Inhalt von $matches[0] zurück (die gültige Email Adresse). Die Variable $mailcheck, enthält entweder die Email Adresse oder false.

Komplett funktionsfähiges Skript um Email Adresse zu überprüfen

Um unser PHP Email Adresse Prüfen Skript noch im Einsatz zu zeigen hier ein kompletter funktionierender Code, welchen man auch hier testen kann.

 
<?php
function mail_pruefen($adresse) {
	if(empty($adresse)) // Wenn leer
		return false; // Funktion beenden
 
	/* Überprüfen */
	$regex = '§[\w-.]{1,}@[\w-]{3,}\.[\w-]{2,3}§';
	preg_match($regex, $adresse, $matches);
 
	if(empty($matches)) // Wenn keine Email
		return false; // Funktion beenden
	if(strlen($matches[0])!=strlen($adresse))
		return false; // Funktion beenden
 
	return($matches[0]);
	}
$mailcheck = mail_pruefen($_POST["email"]);
?>
<form action="" method="post">
Email:
<input name="email" type="text" value="<?php echo $_POST["email"] ?>" />
<input type="submit" value="Prüfen" />
</form>
 
<?php
	if($mailcheck)
		echo "Gültige Email Adresse";
	else
		echo "Ungültige Email Adresse";
?>
 

Viel Spam bei Überprüfen deiner Email Adresse mit PHP. Diese Funktion kann ganz einfach eingebunden werden, solltest du jedoch trozdem Fragen dazu haben melde dich einfach hier.



Tags: , , ,

2 Kommentare zu “PHP Email Adresse auf Gültigkeit überprüfen”

  1. toro says:

    Leider funktioniert das nicht so einfach. Somit hast du nur überprüft, ob die Adresse einer E-Mailadresse gleicht. Jedoch nicht, ob sie aktiv ist oder erreichbar ist.

    dies bedeutet folgendes:
    §[\w-.]{1,}@[\w-]{3,}\.[\w-]{2,3}§

    vor dem @ Zeichen muss es mindestens 1 Buchstaben haben.
    nach dem @ Zeichen muss es mindestens 3 Buchstaben haben.
    nach dem Punkt darf es 2 - 3 Buchstaben haben.

    Immerhin kann so nicht jeder User irgend eine E-Mailadresse eintippen.

  2. Leichti says:

    Leider ist mir aber kein Weg bekannt, eine Email Adresse mittels PHP auch auf Aktivität zu prüfen, und mit diesem Beispiel kann man wie du schon sagtest, immerhin überprüfen ob die Adresse einer Email-Adresse gleicht

Dein Kommentar