ugrás a tartalomhoz

email ellenőrzés

Bacso · 2003. Dec. 12. (P), 21.18
Csak annyit szeretnék megtudni, hogy hogyan lehet leellenőrizni, hogy az email cím helyes-e.
Röviden azt szeretném megtudni hogy tartalmaz-e '@' és pont karaktereket.
Bocsi, hogy ilyen kezdő kérdést teszek fel de olyan lassú a netem, hogy mire erre választ találnék talán már ÚJÉV lenne.
Előre is köszi a válaszokat. :)
 
2

E-amil regexp

Anonymous · 2006. Május. 31. (Sze), 21.10
Egy Wikipedia-s leírás alapján(http://en.wikipedia.org/wiki/Email_address) csináltam regexp-et, email cím ellenőrzésre. Szerintetek helyes?
[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9][-!#$%&'*+/=?^_`{|}~.a-zA-Z0-9]{1,62}[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9]##kukac##[a-zA-Z0-9-.]{1,255}\.[a-zA-Z]{2,4}
3

Ránézésre, nem jó.

Balogh Tibor · 2006. Május. 31. (Sze), 22.07
Erre mit mond? in..fo@.weblavor..hu
Esetleg nézd meg a php pear validate emailellenőrző részét.
1

Re: email ellenőrzés

pp · 2003. Dec. 13. (Szo), 16.05
Csak annyit szeretnék megtudni, hogy hogyan lehet leellenőrizni, hogy az email cím helyes-e.
Röviden azt szeretném megtudni hogy tartalmaz-e '@' és pont karaktereket.
Bocsi, hogy ilyen kezdő kérdést teszek fel de olyan lassú a netem, hogy mire erre választ találnék talán már ÚJÉV lenne.
Előre is köszi a válaszokat. :)



A kérdésedre egy jó kis linket tudok:
http://phpinfo.wish.hu/Sections+index-req-viewarticle-artid-1-page-1.html

Ha nem érnéd el idemásolom a lényegi részt, ami neked kell:
----
if(!ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[
.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$",$mail)) {
echo "érvénytelen e-mail cím";
}
else {
echo "érvényes e-mail cím";
}
------
A fenti példa egy email ellenörző volt, de álljon itt a kérdésedre _egy_ lehetséges megoldás:


if (strpos($mail, '@')!==false && strpos($mail, '.')!==false)
{
// van benne @ es .
}
else
{
//valamelyik nincs benne, vagy egyik sem;)
}

figyelj oda, hogy fontos a strpos(...)!==false, es nem eleg a !(strpos(...)),mivel ha a 0. helyen van benne egy kukac, akkor a php ez automatikusan atkonvertalja false-ra. Persze ha egyben azt is szeretned kizarni, hogy a @ es a pont ne legyen az elso helyen, akkor eleg igy is:

if (!strpos($mail, '@') && !strpos($mail, '.'))
{
// van benne @ es .
}
else
{
//valamelyik nincs benne, vagy egyik sem;)
}

pp
4

Re: RE: Email ellenőrzés

gajo · 2009. Aug. 30. (V), 01.28
sokat kerestem neten, mire rábukkantam. először persze angolul kerestem, de rá kellett jönnöm, hogy ebben is mi vagyunk a koponyák :)
elég régi bejegyzés:)
na szóval a lényeg, hogy a reguláris kifejezést 'javítottam', ami nálam már így néz ki:
^([0-9A-z]+)([._]([0-9A-z]+))*[@]([0-9A-z]+)([._-]([0-9A-z]+))*[.]([0-9A-z]){2,4}?$

amit javítottam benne:
- a vesszőt most már nem eszi meg (javítsatok ki ha tévedek, de emailcímben nem lehet vessző)
- a {2} -t javítottam {2,4}-re, mivel van .com, .org, .gov, .info is
- az 'a-zA-Z'-ket lerövidítettem 'A-z'-re

valamint ha valakinek valami nem lenne világos, találtam egy jó leírást is, itt
5

Nem jó.

rockybro · 2009. Aug. 30. (V), 11.41
^([0-9A-z]+)([._]([0-9A-z]+))*[@]([0-9A-z]+)([._-]([0-9A-z]+))*[.]([0-9A-z]){2,4}?$
Mi történne, ha ezzel ellenőriznénk le pl. ezt az email címet: vala-ki##kukac##freemail.hu? Az ellenőrzés azzal az eredménnyel zárulna, hogy ez egy hibás email cím. Pedig nem az. A cím első részében (local part) szerepelhet kötőjel is, és még elvileg további karakterek is.
Itt egy kis lista arról, hogy mik szerepelhetnek/szerepelhetnének az email cím első felében.
Itt pedig még egy kis leírás (ezt már más is linkelte).
Egyébként, ha jól tudom, az email címben találkozhatunk akár ékezetes betűkkel is.

Ha valaki tudna pontosabb felvilágosítást adni, azt én is megköszönném.