Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

regular expression pattern za verifikaciju emaila

[es] :: Skript jezici :: regular expression pattern za verifikaciju emaila

[ Pregleda: 2834 | Odgovora: 18 ]

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

borquee

Član broj: 10401
Poruke: 58
*.chello.hu



Profil

icon regular expression pattern za verifikaciju emaila23.08.2003. u 09:21

jel ima neko ispravniji regular expression pattern za verifikaciju emaila

do sada sam nasao:

(\w+[\w|\.|-]*\w+)(@\w+[\w|\.|-]*\w+\.\w{2,4})

ali se nije pokazao bas najbolje
23.08.2003. u 09:21 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13019
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: regular expression pattern za verifikaciju emaila23.08.2003. u 09:44
Samo da te upozorim da se upuštaš u opasnu oblast jer pisanje kompletnog rešenja za taj problem može da potraje i danima. Zavisi naravno dokle želiš da ideš, ali kompletan regexp za na primer neki MTA bi morao da prepoznaje dosta toga.. Daću ti samo primere validnih email adresa i to bez grešaka, koje svaki MTA mora da prepozna.. a zamisli tek ako korisnik unese i neke greške u unos a od tvog programa se očekuje da pravilno razazna šta je email adresa:

gojko@negde.com
<gojko@negde.com>
Gojko Vujovic <gojko@negde.com>
"Gojko Vujovic", gojko@negde.com
"Gojko Vujovic" <gojko@negde.com>
Gojko <"gojko"@negde.com> (ova adresa se slabo koristi)

Ovo poslednje je preterivanje ali je savršeno ispravna email adresa, barem što se specifikacije tiče!

Imaš na netu dosta primera, u mastering regular expressions knjizi imaš i dva prilično kompleksna od 4 i 6 hiljada bajtova, a na tebi je da odlučiš koliko daleko želiš da ideš sa ovim..
23.08.2003. u 09:44 

borquee

Član broj: 10401
Poruke: 58
*.chello.hu



Profil

icon Re: regular expression pattern za verifikaciju emaila23.08.2003. u 10:24
pa recimo da bi mi trebalo neko resenje koje nece ukociti server...
a od korisnika ocekujem da unese obican mail tipa

pera@mail.pera.com

tj. da ne prihvati drugacije (bez navodnika i <>)
23.08.2003. u 10:24 

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.verat.net

Sajt: localhost


Profil

icon Re: regular expression pattern za verifikaciju emaila24.08.2003. u 03:58
ma zeza te malo gojko..

evo ti moj predlog..

Code:

[^@]+               # username (ovo ovde je diskutabilno)
@
([\w-]+\.)+         # bar jedan domen, a možda i koji poddomen
w{2,4}              # TLD


jedino je diskutabilan ovaj username deo. elem, umesto negativne klase koja isključuje samo @, možeš da nabrojiš sve moguće karaktere, ali ja nisam siguran koji su sve dozvoljeni, pa koristim ovo..
24.08.2003. u 03:58 

bOkIcA
Bojan Abramovic
Novi Sad

Član broj: 1808
Poruke: 517
*.metrohive.net

Sajt: www.bokica.com


Profil

icon Re: regular expression pattern za verifikaciju emaila24.08.2003. u 05:07
Code:
^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$


Ovo nije moj regexp (naleteo sam na njega), ali bi trebao da se dosta poklapa sa RFC 2822.

recimo, ovaj regexp ne resava mailove tipa: neko@127.0.0.1


Da li ima raspolozenih da ucestvuju u pravljenju PRAVOG regexp-a po RFC2822 standardu?
Da zajedno proucimo standard i polako napravimo tacan regexp.
24.08.2003. u 05:07 

bOkIcA
Bojan Abramovic
Novi Sad

Član broj: 1808
Poruke: 517
*.metrohive.net

Sajt: www.bokica.com


Profil

icon Re: regular expression pattern za verifikaciju emaila24.08.2003. u 05:55
Ma jok, kakav regexp, ko jos ima vremena da se zeza oko toga.

Ja trenutno koristim ovu klasu koja proverava da li postoji dns rekord i kaci se na mail server i proverava da li je email deliverable.
Treba li bolje???
24.08.2003. u 05:55 

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.verat.net

Sajt: localhost


Profil

icon Re: regular expression pattern za verifikaciju emaila24.08.2003. u 09:04
jel se ti to sam sa sobom svađaš (imaš glasove u glavi) ili je neko seo za komp dok si ti bio ulogovan :P

nego, ovaj regex što je bokica broj 1 dao ne valja za ku^H^H ništa..

a ova klasa što je bokica 2 dao, u velikom broju slučajeva (na mnogim serverima/kombinacijama) ne radi, pa se ni ne vredi cimati...



da pojasnim, regex treba da služi samo kao prva provera čisto da se detektuje kada korisnik pogreši i na sajtu unese lošu mail adresu.


ako treba da se stvarno osigura da je to prava (validna) mail adresa koju čita taj korisnik, onda mu lepo pošaljete mail sa linkom za "overu" ili "potvrdu" mail adrese, i uživate..


zaključak: odradite regex proveru samo kao pred-proveru (za to može da posluži i onaj prosti regex koji sam ja dao), a ako vam je stvarno stalo da budete sigurni, pošaljite lepo mail na unesenu adresu.......
24.08.2003. u 09:04 

bOkIcA
Bojan Abramovic
Novi Sad

Član broj: 1808
Poruke: 517
*.metrohive.net

Sajt: www.bokica.com


Profil

icon Re: regular expression pattern za verifikaciju emaila25.08.2003. u 01:41
jes, svadjao sam se ;-)

al sam to tek sad skontao
25.08.2003. u 01:41 

bluesman
Goran Pilipović
Beograd

Član broj: 4505
Poruke: 1885
*.62.EUnet.yu

ICQ: 7987706
Sajt: www.revolution.co.yu


Profil

icon Re: regular expression pattern za verifikaciju emaila25.08.2003. u 22:13
Evoj PHP funkcije koju ja korisitim:

Code:

function validateEmail($strEmail)

    return ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+' .
        '@' .
        '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.' .
        '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+$',
        $strEmail);
}


pokazala se ok do sada. I u pravu je Gojko, dosta sam se zezao sa ovim, tako da i ne znam zasto Vam dajem tako olako :-)))
Goran Pilipović fka bluesman
25.08.2003. u 22:13 

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.verat.net

Sajt: localhost


Profil

icon Re: regular expression pattern za verifikaciju emaila26.08.2003. u 10:30
izvini, ali ti si se baš trudio oko ovoga?

ja sam se oko moje potrudio nekih 15tak sekundi.. a radi bolje...

Code:

$a[]='u@d.c';
$a[]='u@d..';
$a[]='u@_....';
$a[]='u@=`~!$%^&*-._=+';

foreach ($a as $e) {
    echo "<br/>$e: ".(0+validateEmail($e));
}


objasni mi molim te kako su ove četri ispravne email adrese?!? (pozivam tvoju f-ju).


napomena: ni moj regex nije idealan, pored opisanog problema sa username, prolaze i adrese tipa a@-b-.cd, što mislim da nije legalno ime domena, ali to ionako rešava slanje maila za verifikaciju...

26.08.2003. u 10:30 

bOkIcA
Bojan Abramovic
Novi Sad

Član broj: 1808
Poruke: 517
*.metrohive.net

Sajt: www.bokica.com


Profil

icon Re: regular expression pattern za verifikaciju emaila26.08.2003. u 15:05
Code:
<?php

$email[] = "1@trt.com";
$email[] = "nesto@trt.com";
$email[] = "1nes to@trt.com";
$email[] = "-1nes.to@trt.com";
$email[] = "1-nes.to@trt.com";
$email[] = "1nes.to@trt.co.m";
$email[] = "trt@192.255.0.6";
$email[] = "trt@192.256.0.6";

foreach ($email as $trt){
     echo "Email '$trt' " . ((is_email($trt))?"":"ni") . "je validan.<br>\r\n";
}

function is_email($email) {

     $eml_pocetak = "[a-zA-Z0-9_][a-zA-Z0-9-_.]*[a-zA-Z0-9_.]@";
     $eml_kraj = "(([a-zA-Z0-9_][a-zA-Z0-9-_]*[a-zA-Z0-9_][.])+([a-zA-Z]{2,6}))";
     $eml_ip = "((\b([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.){3}\b([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5]))";
    
     $eml_regexp = "/^$eml_pocetak($eml_kraj|$eml_ip)$/";

     if (preg_match($eml_regexp,$email))
          return true;

     return false;
}
?>

Code:
// kompletan regexp (u jednom redu)
// $reg = "/^[a-zA-Z0-9_][a-zA-Z0-9-_.]*[a-zA-Z0-9_.]@((([a-zA-Z0-9_][a-zA-Z0-9-_]*[a-zA-Z0-9_][.])+([a-zA-Z]{2,6}))|((\b([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])\.){3}\b([01]?[0-9][0-9]?|2[0-4][0-9]|25[0-5])))$/"

Ajd testirajte, zanima me jesam li blizu.
(voleo bih kad bi neko mogao da testira ovo na nekoj velikoj mailing listi)
26.08.2003. u 15:05 

bluesman
Goran Pilipović
Beograd

Član broj: 4505
Poruke: 1885
*.197.EUnet.yu

ICQ: 7987706
Sajt: www.revolution.co.yu


Profil

icon Re: regular expression pattern za verifikaciju emaila27.08.2003. u 02:14
Citat:
-zombie-:
izvini, ali ti si se baš trudio oko ovoga?
ja sam se oko moje potrudio nekih 15tak sekundi.. a radi bolje...


Hej, super si ti decko, samo si mnogo napet, nauci da se opustis malo. Procitaj jos jednom sta sam napisao i obrati paznju na par karaktera na kraju recenice.

Kladim se da i ja mogu da radim nesto brze od tebe, eto ja mogu da popijem 0.7 L piva za 11 sekundi, tako sam jednom i pobedio na takmicenju u brzom ispijanju piva, hoces da se oprobas samnom? :-)))

p.s. Samo gledam tvoje poruke u poslednje vreme i odaju utisak jednog vrlo nervoznog coveka. Suvise si mlad za takav attitude, opusti se malo - nije u pitanju zivot i smrt za svaku glupost.
Goran Pilipović fka bluesman
27.08.2003. u 02:14 

CONFIQ
♫♪♥♪♫

Član broj: 4218
Poruke: 1958
*.red.bezeqint.net

ICQ: 82327428


Profil

icon Re: regular expression pattern za verifikaciju emaila27.08.2003. u 02:31
Pa ne, samo smešno zvuči „jako teško se opraštam od nje” kao da... :Đ

Anyway, ne znam zašto su svi napisali u PHPu, kao da Javascript ne bi mogao da odradi identičan posao. :P A što se tiče PHP-a, dečko može da nađe neku class-u koja će da odradi taj posao za njega tako da ne mora da izmišlja toplu vodu. Doduše i ja ponekad pišem nešto što već postoji classa za to...

~Say... My 2 cents
27.08.2003. u 02:31 

bluesman
Goran Pilipović
Beograd

Član broj: 4505
Poruke: 1885
*.193.EUnet.yu

ICQ: 7987706
Sajt: www.revolution.co.yu


Profil

icon Re: regular expression pattern za verifikaciju emaila27.08.2003. u 11:22
pa i treba smesno da zvuci...
Goran Pilipović fka bluesman
27.08.2003. u 11:22 

-zombie-
Tomica Jovanovic
freelance programmer
ni.ac.yu

Član broj: 4128
Poruke: 3448
*.verat.net

Sajt: localhost


Profil

icon Re: regular expression pattern za verifikaciju emaila27.08.2003. u 12:11
da.. sorry.. my bad.. nisam provalio da se zezaš.. kao što confiq reče, smešno je zvučalo, ali (priznaj ;) nije delovalo da se ti šališ :-P

ma šta ću.. ja ionako odavno pričam da su ovi pixeli na ekranu suviše siromašni da bi lepo iskazali ono što je "pisac time 'teo da kaže..." (uz sve smajlije i druga čuda moderne tehnike koje izmisle ;)


ali za piwo ti ne verujem.. za to sam spreman i da se kladim!! :D


a za napetost, šta ćeš.. vreme odmora, a ja nikad više posla.. pa onda dođem ovde da se iskalim i ispljujem svakog kog stignem.. :-Pp

a za osale "poruke u poslednje vreme".. hm.. na šta misliš.. nisam primetio (da je neko drugi primetio ;)))


u svakom slučaju, imaš piwo od mene prvom prilikom.. poz :x)
27.08.2003. u 12:11 

bluesman
Goran Pilipović
Beograd

Član broj: 4505
Poruke: 1885
*.214.EUnet.yu

ICQ: 7987706
Sajt: www.revolution.co.yu


Profil

icon Re: regular expression pattern za verifikaciju emaila27.08.2003. u 15:05
Ma samo se opusti... :-))

Nego, bolje da verujes za pivo, i to je bilo ono... kvalifikacije, 1/4 finale, 1/2 finale, finale, pa smo u finalu bili "draw" pa smo morali jos jednom, a konkurencija internacionalna (ispostavilo se da englezi vise pricaju da piju nego sto stvarno mogu da piju) ... skoro sam se onesvestio posle. A sto se ponude tice, ko izgubi moda odmah da popije jos jednu i plati sve. ok? Ali 'ajde da ne privatizujemo (opet) ovo sve ...
Goran Pilipović fka bluesman
27.08.2003. u 15:05 

CtrlAltDel
Milos Sretenovic
Beograd

Član broj: 96286
Poruke: 319
*.ADSL.neobee.net.

Sajt: www.pixart.co.yu


Profil

icon Re: regular expression pattern za verifikaciju emaila20.06.2006. u 14:45
sto se tice regex-a i maila ja koristim ovo:

if(!eregi("^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,2}$", 'pera@trt.co.yu')) {
echo "Neispravan mail";
};
20.06.2006. u 14:45 

Gojko Vujovic
Juniper Networks
Amsterdam, NL

Administrator
Član broj: 1
Poruke: 13019
*.gojko.ss.

Sajt: www.gojkovujovic.com


Profil

icon Re: regular expression pattern za verifikaciju emaila20.06.2006. u 15:01
Ne valja.

Prolazi ti: pera@.-.trt-.co.yu (neispravan domen)
Ne prolazi ti: pera+test@trt.co.yu (gmail labels, ispravan email)
20.06.2006. u 15:01 

Ivan.Markovic

Član broj: 97763
Poruke: 139
*.157.nat-pool-kg.sbb.co.yu.

Sajt: www.security-net.biz


Profil

icon Re: regular expression pattern za verifikaciju emaila20.06.2006. u 16:41
Mozda ovde http://www.scriptarchive.com/d...&c=txt&f=FormMail%2Epl nadjete resenje.
20.06.2006. u 16:41 

[es] :: Skript jezici :: regular expression pattern za verifikaciju emaila

[ Pregleda: 2834 | Odgovora: 18 ]

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.