Autor Zpráva
king26
Profil
Ahoj, na internetu je spoustu kódů, zabívajícíh se kontrolou e-mailu. Já bych ale rád věděl, který je nejlepší, a tak se ptám, jak kontrolujete správnost e-mailů vy?

Díky za odpovědi..
stepanka
Profil *
king26

Já používám jen kontrolu typu znak@znak.znak, přičemž "znak" je libovolné nenulové slovo.
jso
Profil *
king26
záleží, dle jakého RFC.

Podívejte se na porovnání jednotlivých regulárních výrazů. Stejně poslat zkušební mail je 100% řešení.
Chamurappi
Profil
Reaguji na kinga26:
Kontrola e-mailu zadaného ve formuláři má smysl jen v tom, že upozorní uživatele na chybu v adrese způsobenou jeho nepozorností. Nějaká důkladnější syntaktická kontrola asi nemá smysl, protože kdo chce vyplnit nesmysl, ten ho stejně vyplní.

Použil bych třeba takovýto regulární výraz:
/^[^@]+@([^@\.]+\.)+[a-z]{2,}\s*$/i


Reaguji na jsa:
záleží, dle jakého RFC
RFC dovoluje mnohem šílenější mailové adresy, než jaké jsou použitelné v praxi.
jso
Profil *
Chamurappi
ano, ale je třeba toto zohlednit.
peta
Profil
king26
Nenapsal jsi, co chces. Jednoduchy tvar nebo uplny, platny podle poslednich norem?

Skutecny tvar spociva ve tvaru domeny, porty, protokoly a nejake dalsi veci. Pak je mozne pridavat ruzne dalsi znaky.
Cili jednoduchy tvar je pak ten od Chamurappi, kdy hledas 1-n znaku + zavinac + 3-n znaku + tecka + 2-n znaku
Cham treba pocty znaku nezohlednuje, ale neva.
Pozor, cham pridal na konec \s , coz je mezera v poctu 0-n. V tomto pripade doporucuji php trim, smazat \n\s\t.
Celkova delka pred zavinacem je tusim omezena na 64 znaku. Nekde mam komplexnejsi tvar, ale zrovna mam jiny pc.
Toto téma je uzamčeno. Odpověď nelze zaslat.