Einfach
$email = '[email protected]';
$validation = filter_var($email, FILTER_VALIDATE_EMAIL);
if ( $validation ) $output = 'proper email address';
else $output = 'wrong email address';
echo $output;
Fortgeschritten
Diese Funktion prüft nicht nur, ob das Format der angegebenen E-Mail-Adresse korrekt ist, sondern führt auch einen Test durch, ob der Host existiert.
<?php
$email="[email protected]";
if (isValidEmail($email))
{
echo "Hooray! Adress is correct.";
}
else
{
echo "Sorry! No way.";
}
//Check-Function
function isValidEmail($email)
{
//Perform a basic syntax-Check
//If this check fails, there's no need to continue
if(!filter_var($email, FILTER_VALIDATE_EMAIL))
{
return false;
}
//extract host
list($user, $host) = explode("@", $email);
//check, if host is accessible
if (!checkdnsrr($host, "MX") && !checkdnsrr($host, "A"))
{
return false;
}
return true;
}
?>
Regulärer Ausdruckstest
function checkEmail($email) {
if(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$email))
{
return true;
}
return false;
}
Das oben Genannte, mit Domain-Namen-Validierung
function checkEmail($email) {
if(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/",$email))
{
list($username,$domain)=split('@',$email);
if(!checkdnsrr($domain,'MX')) {
return false;
}
return true;
}
return false;
}
Haben Sie das hier installiert? Kann ich mit einer ungültigen E-Mail-Adresse posten? Lassen Sie uns prüfen
lolz.. Hey Adrian, was war das Ergebnis, lass es uns wissen?
Dies prüft Syntax und MX, aber was ist mit [email protected]? Es wird validiert. Schauen Sie sich amplemedia.com an. Sie validieren E-Mails mit einem überlegenen Algorithmus, der erkennen kann, dass [email protected] eine ungültige E-Mail-Adresse ist. ;)
Ja, aber was, wenn [email protected] die tatsächliche E-Mail-Adresse von jemandem ist?
Wie kann ich auf meiner Website nur die Registrierung mit z.B. 10 E-Mail-Adressen zulassen und das war's? Was muss ich verwenden, um E-Mails zu prüfen, ob sie eine von den 10 korrekten sind??? Danke!
Oh, ich habe den Weg gefunden! :) Ich weiß nicht, ob er sicher und gut ist, aber schau mal
function checkEmail($str) { //1name if(preg_match("/^[\.A-z0-9_\-\+]+[@][name_\-]+([.][co_\-]+)+([.][uk_\-]+)[A-z]{1,4}$/",$str)) { return true; } //2name else if (preg_match("/^[\.A-z0-9_\-\+]+[@][name_\-]+([.][com_\-]+)+[A-z]{1,4}$/",$str)) { return true; } //3name else if (preg_match("/^[\.A-z0-9_\-\+]+[@][name3_\-]+([.][org_\-]+)+[A-z]{1,4}$/",$str)) { return true; } return false; }Hallo,
Ich habe den erweiterten E-Mail-Adressvalidierungs-Schnipsel getestet.
Habe ich einen Fehler gemacht, oder ist er fehlerhaft?
Ich habe es mit "[email protected]" versucht, eine kleine Abänderung meiner ursprünglichen Domain.
"Soltecks.de" ist weder in Benutzung noch registriert, siehe "Denic.de" für weitere Informationen oder verifizieren Sie einfach.
Der Schnipsel sagt "Hooray! Adress is correct." Und das ist nicht wahr.
Übrigens – ich schätze Ihre Seite. Ich habe viele nützliche Informationen erhalten.
Grüße
Swirl
Stadt: Dortmund / Bundesland: Deutschland
Von Drupal 6 + einige Korrekturen
Gibt es eine aktualisierte Version?
Natürlich erfüllt der bereitgestellte Code nicht die Standards für das E-Mail-Adressformat. Was ist z.B. mit [email protected]?