Regularni vyraz pro urceni korektni e-mailove adresy

Zdenek Pytela letty na mrakoplas.phil.muni.cz
Pátek Květen 28 08:27:27 CEST 1999


Lukas Horalek píše:
> Hezky dobry den,
> 
> rad bych svym uzivatelum (na Radary.CZ - pozn.aut.) casem umoznil
> automaticke prihlasovani (..si svych e-mailovych adres), nicmene bych se
> rad vyhnul zadavani nesmyslnych adres (zname uzivatele, ze?), aby s tim
> posleze chudak sendmail nemel problemy...
> 
> Jde mi tedy o toto:
> 
> Mam ten dojem, ze e-mailova adresa ma striktne definovano, co smi a nesmi
> obsahovat za znaky. Konkretne jde o [0-9], [a-z], [A-Z], podtrzitko,
> pomlcka, tecka a zavinac, samozrejme - kdyby neco chybelo, tak me opravte.
> 
> Potreboval bych co nejrozumnejsi pravidlo (implantovane do grepu, sedu, ci
> neceho podobneho), ktere by prijalo vstupni retezec od uzivatele, overilo
> by existenci nasledujicich znaku, a vysledek by stacil - 0/1, tedy
> adresa je/neni korektne zadana.
> 
> Pokud by to dokazalo hlidat i dalsi nejapnou vec - tedy nesmyslnou
> existenci vice zavinacu ci tecek vedle sebe (adresy typu
> "ja na jsem@ale na vtipalek..haha..cz"), vubec by to nebylo spatne.
> 
> Vlastni existenci domeny neni tak zivotne dulezite si hlidat, prip. to uz
> bych si z proverene adresy vydumpoval (a tedy nasledne zavrhl adresy typu
> "nekdo na nejaka_neexistujici_domena.hej") a nasledne zareagoval...
	Neexistující doménu regulárním výrazem jednoduše nezjistíte.
Ale mohlo by vám stačit velmi jednoduché pravidlo:
\w[\w-.%]+@[\w-.]+.[a-z]{2,3}
je to rozšířený rv, jak ho používá např. perl. Pozor na nastavení národního
prostředí.

-- 

--Zdeněk Pytela, <letty na mrakoplas.phil.muni.cz>



Další informace o konferenci Linux