Problem mit der Email prüfung

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
mirk
Mitglied
Beiträge: 191
Registriert: 03.09.2003 16:32
Kontaktdaten:

Problem mit der Email prüfung

Beitrag von mirk »

Hi Com

Hab ein Problem mit dem folgendem Code:

Code: Alles auswählen

// check whether input is a valid email address
	function isEmailAddress($field, $msg)
	{
		$value = $this->_getValue($field);
		$pattern = "/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/";
		if(preg_match($pattern, $value))
		{
			return true;
		}
		else
		{
			$this->_errorList[] = array("field" => $field, "value" => $value, "msg" => $msg);
			return false;
		}
	}
Der code überprüft die Email auf ihre richtigkeit. Aber wenn ein User eine kurze email hat d.h. nur 2 zeichen vor dem @ bekommt er die meldung er soll eine gültige Email angeben. Das wird irgendwie hier definiert:

Code: Alles auswählen

$pattern = "/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/";
Habe aber keine Ahnung wie ich das ändern soll. Kann mir einer helfen?

Danke & Gruss
mirk
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Beitrag von Miriam »

Also am Patterm liegt's nicht.

Probier mal:

Code: Alles auswählen

<?php
$value = array('test@web.de', 'az@free.com', 'a.z@tester.der', 'a+z@german.org');
$pattern = "/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)+/";
for ($i=0; $i<count($value); $i++)
{
	if(preg_match($pattern, $value[$i]))
	      {
	         echo $value[$i] . " ist okay<br />";
	      }
	      else
	      {
	         echo $value[$i] . " ist nicht okay!<br />";
	      }
}
?>
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Antworten

Zurück zu „Coding & Technik“