 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
06.12.2001, 14:57
|
#1
|
|
TP-Supporter
Registriert seit: Jun 2001
Ort: Berlin
|
Gültige Email-Adresse
Greets,
welchen Regeln genau untersteht eine Email-Adresse ?!
Was genau darf sie enthalten .. und was nicht ?
Hat da jemand einen Link oder ne Erklärung ?
Und wie frage ich das am besten mit PHP ab? !
Gibts da echt keine Funktion für ?!!?.. *wunder*
__________________
keep looking forward... Hydrax
|
|
|
06.12.2001, 15:13
|
#2
|
|
TP-Special Mod
Registriert seit: May 2001
Ort: Arnsberg - Sauerland
|
du kannst nach dem Vorahndensein des @ - Zeichens abfragen.
PHP hab ich kein Plan  , DW mach das per js so:
PHP-Code:
<input type="text" name="textfield" onBlur="MM_validateForm('textfield','','NisEmail');return document.MM_returnValue">
|
|
|
06.12.2001, 16:02
|
#3
|
|
TP-Specialist
Registriert seit: Mar 2001
Ort: NDS
|
emails dürfen so aussehen:
^[\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$
Das Script in PHP ist 200 Zeilen lang... muss mal schaun, ob ich es irgendwo noch gespeichert habe. Bin mir aber nicht sicher!
__________________
the0bone
Wissen ist Macht, nichts Wissen macht nichts!
|
|
|
06.12.2001, 16:37
|
#4
|
|
TP-Supporter
Registriert seit: Jun 2001
Ort: Berlin
|
Herzlichen Dank...
Jetzt wird mir das ganze mit den Suchmustern auch klarer.
Danke schön! Wieder was gelernt !
Eine Frage noch:
Dürfen Email keine _ enthalten ?
hydrax_hatwasgelernt@traum-projekt.com
wäre eine somit eine ungültige Email-Adresse ?
__________________
keep looking forward... Hydrax
|
|
|
06.12.2001, 17:23
|
#5
|
|
TP-Specialist
Registriert seit: Mar 2001
Ort: NDS
|
... mir ist noch keine Emailadresse mir _ untergekommen...
Hast du ne Homepage? mit Emailaliasen? Dann versuch doch einfach mal so eine Einzurichten!
Ich weiss nur, das auch vor dem @ ein . sein darf.
__________________
the0bone
Wissen ist Macht, nichts Wissen macht nichts!
|
|
|
06.12.2001, 18:29
|
#6
|
|
TP-Supporter
Registriert seit: Mar 2001
Ort: Coburg / Bayern
|
hi
unterstrich ist erlaubt
Gruß
SMURF
|
|
|
06.12.2001, 18:51
|
#7
|
|
TP-Insider
Registriert seit: Feb 2001
|
hi,
der php-code zum checken dauert:
if (!preg_match("=^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*$=i",$email))
{
}
in $email steht natürlich die mailadresse drin, was auch sonst
mfg dares
__________________
ich bin krebs erregend - wer ist krebs?
|
|
|
06.12.2001, 20:12
|
#8
|
|
TP-Insider
Registriert seit: Jun 2001
Ort: Berlin
|
zum php code:
einige von denen funktionieren nicht mit domains wie co.uk, jp.org
usw. Also wers braucht, checken.
(wie das konkret bei dem oben aussieht hab ich nicht getestet)
__________________
<table> was my first love and it will be my last
|
|
|
07.12.2001, 00:44
|
#9
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
Hi !!
Ich benutze immer folgenden Ausdruck
PHP-Code:
if (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$",$email))
{ echo "Mail-Adresse falsch!";}
Dieser Ausdruck akzeptiert auch Subdomains...
Durch eregi braucht man nicht auf Groß- und Kleinschreibung zu achten.
Gruß Jan
|
|
|
07.12.2001, 09:06
|
#10
|
|
TP-Supporter
Registriert seit: Mar 2001
Ort: Göttingen
|
Zitat:
Original geschrieben von the0bone
Das Script in PHP ist 200 Zeilen lang... muss mal schaun, ob ich es irgendwo noch gespeichert habe. Bin mir aber nicht sicher!
|
Was steht denn dann noch in den restlichen 198 Zeilen des Scripts? 
__________________
Wenn die Sonne der Kultur niedrig steht, werfen selbst Zwerge einen Schatten. (Karl Kraus)
|
|
|
07.12.2001, 12:51
|
#11
|
|
TP-Supporter
Registriert seit: Jun 2001
Ort: Berlin
|
DAANKE !
herzlichen dank fuer die antworten...
jetzt muss ich mir die ausdrücke nurnoch im kopf auseinanderklamüsern, damit ich das auch verstehe
ich setzt das nun mal auf erledigt.
__________________
keep looking forward... Hydrax
|
|
|
07.12.2001, 13:44
|
#12
|
|
TP-Greis
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
|
@wanni
Vermutlich ist das ein Script, das neben der eMail-Adresse auch noch viertausend andere Formulareingaben auf Richtigkeit überprüft.

__________________
Give up yourself into the moment — The time is now.
|
|
|
07.12.2001, 14:41
|
#13
|
|
TP-Supporter
Registriert seit: Mar 2001
Ort: Göttingen
|
Das könnte sein...von daher wäre das gar nicht schlecht, wenn Du das Script noch finden würdest, dann könnte man doch ne Zusammenstellung der gängigsten regulären Ausdrücke machen, um die verschiedensten Sachen zu überprüfen...
__________________
Wenn die Sonne der Kultur niedrig steht, werfen selbst Zwerge einen Schatten. (Karl Kraus)
|
|
|
07.12.2001, 14:46
|
#14
|
|
TP-Specialist
Registriert seit: Mar 2001
Ort: NDS
|
Was ich meine setzt sich auch vielen Einzeltests zusammen:
PHP-Code:
<?php
function validate_email ($eaddr="")
{
if (empty($eaddr))
{
#print "[$eaddr] is not valid\n";
return false;
}
$laddr = "";
$laddr = $eaddr;
# if the addr-spec is in a route-addr, strip away the phrase and <>s
$laddr = preg_replace('/^.*</','', $laddr);
$laddr = preg_replace('/>.*$/','',$laddr);
if (preg_match('/^\@.*:/',$laddr)) #path-relative domain
{
list($domain,$addr_spec) = preg_split('/:/',$laddr);
$domain = preg_replace('/^\@/','',$domain);
if (!is_domain($domain)) { return false; }
$laddr = $addr_spec;
}
return(is_addr_spec($laddr));
}
function is_addr_spec ( $eaddr = "" )
{
list($local_part,$domain) = preg_split('/\@/',$eaddr);
if (!is_local_part($local_part) || !is_domain($domain))
{
#print "[$eaddr] is not valid\n";
return false;
}
else
{
#print "[$eaddr] is valid\n";
return true;
}
}
#local-part = word *("." word) ; uninterpreted
function is_local_part ( $local_part = "" )
{
if (empty($local_part)) { return false; }
$bit_array = preg_split('/\./',$local_part);
while (list(,$bit) = each($bit_array))
{
if (!is_word($bit)) { return false; }
}
return true;
}
#word = atom / quoted-string
#quoted-string = <"> *(qtext/quoted-pair) <">; Regular qtext or
# ; quoted chars.
#qtext = <any CHAR excepting <">, ; => may be folded
# "\" & CR, and including
# linear-white-space>
#quoted-pair = "\" CHAR ; may quote any char
function is_word ( $word = "")
{
if (preg_match('/^".*"$/i',$word))
{
return(is_quoted_string($word));
}
return(is_atom($word));
}
function is_quoted_string ( $word = "")
{
$word = preg_replace('/^"/','',$word); # remove leading quote
$word = preg_replace('/"$/','',$word); # remove trailing quote
$word = preg_replace('/\\+/','',$word); # remove any quoted-pairs
if (preg_match('/\"\\\r/',$word)) # if ", \ or CR, it's bad qtext
{
return false;
}
return true;
}
#atom = 1*<any CHAR except specials, SPACE and CTLs>
#specials = "(" / ")" / "<" / ">" / "@" ; Must be in quoted-
# / "," / ";" / ":" / "\" / <"> ; string, to use
# / "." / "[" / "]" ; within a word.
#SPACE = <ASCII SP, space> ; ( 40, 32.)
#CTL = <any ASCII control ; ( 0- 37, 0.- 31.)
# character and DEL> ; ( 177, 127.)
function is_atom ( $atom = "")
{
if (
(preg_match('/[\(\)\<\>\@\,\;\:\\\"\.\[\]]/',$atom)) # specials
|| (preg_match('/\040/',$atom)) # SPACE
|| (preg_match('/[\x00-\x1F]/',$atom)) # CTLs
)
{
return false;
}
return true;
}
#domain = sub-domain *("." sub-domain)
#sub-domain = domain-ref / domain-literal
#domain-ref = atom ; symbolic reference
function is_domain ( $domain = "")
{
if (empty($domain)) { return false; }
# this is not strictly required, but is 99% likely sign of a bad domain
if (!preg_match('/\./',$domain)) { return false; }
$dbit_array = preg_split('/./',$domain);
while (list(,$dbit) = each($dbit_array))
{
if (!is_sub_domain($dbit)) { return false; }
}
return true;
}
function is_sub_domain ( $subd = "")
{
if (preg_match('/^\[.*\]$/',$subd)) #domain-literal
{
return(is_domain_literal($subd));
}
return(is_atom($subd));
}
#domain-literal = "[" *(dtext / quoted-pair) "]"
#dtext = <any CHAR excluding "[", ; => may be folded
# "]", "\" & CR, & including
# linear-white-space>
#quoted-pair = "\" CHAR ; may quote any char
function is_domain_literal ( $dom = "")
{
$dom = preg_replace('/\\+/','',$dom); # remove quoted pairs
if (preg_match('/[\[\]\\\r]/',$dom)) # bad dtext characters
{
return false;
}
return true;
}
// void print_validate_email ([string email address])
// This function prints out the result of calling the validate_email()
// function on a given email address.
function print_validate_email ($eaddr="")
{
$result = validate_email($eaddr) ? "is valid" : "is not valid";
print "<h4>email address (".htmlspecialchars($eaddr).") $result</h4>\n";
}
?>
Diese Funktionen ruft ihr dann je nach bedarf auf.
__________________
the0bone
Wissen ist Macht, nichts Wissen macht nichts!
|
|
|
19.12.2001, 21:29
|
#15
|
|
TP-Greis
Registriert seit: Mar 2001
Ort: Berlin, Germany
|
Also das is echt etwas übertrieben, nur um eine eMail zu checken - diese Version ist viel kürzer und funktioniert recht gut:
PHP-Code:
$pattern="#^[-!\#$%&\"*+\\./\d=?A-Z^_|'a-z{|}~]+"."@"."[-!\#$%&\"*+\\/\d=?A-Z^_|'a-z{|}~]+\."."[-!\#$%&\"*+\\./\d=?A-Z^_|'a-z{|}~]+$s#";
if (!preg_match($pattern,$email)) $fehler[] = "Sie haben keine gültige Email-Adresse angegeben.";
Das läuft mit allen Domains, Unterstrichen etc. ...
__________________
“My software never has bugs. It just develops random features ...”
» DevShack - die Website des freien Webentwicklers Boris
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu be | | | |